LoginSignup
12
13

More than 5 years have passed since last update.

proxy.pacを記述する際に気をつけること

Last updated at Posted at 2018-08-11

proxy.pac を記述する際に気をつけることについてまとめたいと思います。

proxy.pacについて

プロキシ自動設定ファイル - HTTP | MDNをご覧ください。

デバッグ方法

通常のJavascriptとは異なり、proxy.pacでデバッグ情報を出力する際にはalertを用います。

alert("url: " + url + ", host: " + host);

デバッグ情報の閲覧方法

Google Chrome, Vivaldi

chrome://net-internals/#events にアクセスします。

Firefox

[メニューボタン] - [ウェブ開発] - [ブラウザーコンソール]をクリックします。

FindProxyForURL関数のurlに渡されるURL

FindProxyForURL関数のurlに渡されるURLは、HTTPとHTTPSで以下のように異なります。

プロトコル アクセスしたURL urlに渡されるURL
HTTP http://example.com:1234/path/to/page?query=1 http://example.com:1234/path/to/page?query=1
HTTPS https://example.com:1234/path/to/page?query=1 https://example.com:1234/

なお、Google ChromeやVivaldiではPacHttpsUrlStrippingEnabledfalseに設定することで、Firefoxではnetwork.proxy.autoconfig_url.include_pathtrueにすることで、HTTPSでもHTTPと同じ挙動にできるようです (セキュリティの観点から見たとき、非推奨な設定となっているらしいので注意)。

複数の設定を指定する方法

以下のように複数の設定を指定したいとします。

  1. 設定Aを試す
  2. 設定Aで404が返されたら設定Bを試す
  3. 設定Bで404が返されたら設定Cを試す
  4. ......

このような場合、以下のようにFindProxyForURL関数の戻り値を指定します。

return "A;B;C;...";

参考文献

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13