開発でプロキシサーバーを切り替えて使う方法
はじめに
開発用のステージング環境などでは IP 制限をかけてある場合があり、IP 制限をかける方法のひとつに静的 IP アドレスで可動するプロキシーサーバーを利用するというものがあります。開発用なので、接続先が制限されているなど、普段使うプロキシーサーバーとは少し勝手が違います。
開発中は Web で公開されているオンラインヘルプを参照するときもあるので、プロキシーサーバーで接続するサーバーと、それ以外を自動で判定してアクセスするようにしたいところです。
また、Web ブラウザについては、普段使用する時と、開発で使用する時とでは、必要となるプラグインが変わってきます。開発では、動作確認が必要となるので、プラグインへ許可する権限も多くなります。そのため、開発するときは Web ブラウザのプロファイル機能を使って、通常使っている環境とは別の環境にしています。
そのため、OS の設定でプロキシーサーバーを切り替えるということはしていません。開発でプロキシサーバーを切り替えて使う場合は、Web ブラウザの拡張機能を使い、Web ブラウザのプロファイル単位で利用できる(OS の設定を変更するものではなく拡張機能がプロキシー機能を提供する)ものを利用しています。
最近、Chrome を使う場合には、Chrome Proxy SwitchyOmega と Chrome Proxy-helper という拡張機能を使っているので、紹介します。
使用するプロキシーサーバー
ここでは、px.example.jp
に ポート番号 8080、認証情報はユーザー名 user001、パスワード pass001 で接続可能なプロキシーサーバーを用意してあるとします。
また、www.example.jp
へアクセスするときはプロキシーサーバーを使いますが、それ以外の *.example.jp
はプロキシーサーバーを利用しない設定とします。
他にバイパスさせるものとしては github.com
、*.google.com
を指定します。
Chrome Proxy SwitchyOmega を使う場合
Chrome Proxy SwitchyOmega を使う場合の設定項目は次のようになります。
* SETTINGS - Interface
* Startup Profile: auto switch
* Show advanced condition types: チェック
* PROFILES - proxy
* Proxy servers
* Protocol: HTTP
* Server: px.example.jp
* Port: 8080
* 錠前アイコンをクリックして、認証情報を指定
* Bypass List: 別途 Bypass List のように指定
* PROFILES - auto switch
* Switch rules: Edit source code で別途 Switch rules のように指定
Bypass List の指定
ここでは、github.com
と *.google.com
をバイパスするように指定しています。
127.0.0.1
::1
localhost
github.com
*.google.com
Switch rules の指定
設定画面の GUI で指定ができます。GUI での指定方法を説明するより、どういう内容の指定をしているかわかるようにした方がわかりやすいと思うので、Edit source code した場合にどういった内容になるか紹介します。
ここでは、次の内容になるようにしています。プロキシーを使うものには +proxy
がついています。直接アクセスするものには +direct
がついています。
[SwitchyOmega Conditions]
@with result
www.example.jp +proxy
*.example.jp +direct
* +direct
Chrome Proxy-helper 拡張機能 を使う場合
Chrome Proxy-helper 拡張機能 を使う場合は設定画面(chrome-extension://mnloefcpaepkpmhaoipjkpikbnkmbnic/options.html)を使います。
* 全般
* プロキシーサーバー: すべて px.example.jp 8080 を指定
* プロキシールール: fallbackProxy
* 認証
* ユーザー: 指定のもの
* パスワード: 指定のもの
* ルール: プロキシーを経由しない接続先リストのように指定
設定以外に、拡張機能の Proxy helper をピン止めしてマウスクリックで表示されるプロキシー選択のメニューで「HTTPプロキシー」を指定して使います。
プロキシーを経由しない接続先リストの指定
次のように指定します。
127.0.0.1,::1,localhost,github.com,*.google.com
プロキシーの動作確認について
Chrome の場合は chrome://net-export/ を使うと、ネットワーク接続時のログを記録したり、確認したりすることが出来ます。そこでプロキシーを経由しているかどうかの確認ができます。
Discussion