ベーシック認証が必要なサイトにアクセスするテストで、ダイアログをシカトするためにNginxでProxyする。

ベーシック認証が必要なサイトにアクセスするテストで、ダイアログをシカトするためにNginxでProxyする。

Phantomjsじゃ動いてくれないJavaScriptライブラリがありまして(よくある)、Selenium + Firefoxでスクリーンショットおじさんになっています。

nginx.conf

実際はRubyではないのでこのようなコードではないんですけど、概念的にこんな感じです。

server {
    listen       8080;
    server_name  localhost;

    location / {
        proxy_set_header Authorization "Basic #{Base64.encode64 'id:password'}";
        proxy_pass https://my-secret-web-site.com;
    }
}

Base64エンコードしたのをヘッダに含めます。

一般的にはブラウザでのアクセスの際や、エンドポイントの設定ファイルでhttps://id:password@my-secret-web-site.comでやったりするんでしょうけど、ライブラリがパースをしくじったり、なんかブラウザに丸出しになるのがイヤって時に使えます。