Android の PAC 設定には到達可能なスクリプト URL が必要
PAC スクリプトをサポートされたネットワーク URL で公開し、その配信アドレスを、スクリプトが返すプロキシのエンドポイントとは分けておきます。
PAC スクリプトを、Android の構成がサポートする承認済みのネットワーク URL で公開します。たとえば次のとおりです。
https://config.example/network/proxy.pac
そのアドレスはスクリプト自体を返す必要があり、HTML のログイン画面やダウンロード画面ではありません。固定ルートの例は次のとおりです。
function FindProxyForURL(url, host) {
return "PROXY proxy.example:8080";
}
認証されていない HTTP 中継局が許可される、独立した公開サイト向けのテストポリシーでは、HTTP プロキシ一覧から PROXY エンドポイントを入手できます。承認済みの PAC 配信 URL は別に保ちます。構成を配信するのは HTTPS URL です。proxy.example:8080 は、それによって選択される HTTP 転送エンドポイントです。PAC URL は自動構成に入力し、プロキシのホスト/ポート欄には入力しません。
初期ネットワークでも変化するネットワークでも配信が機能するようにします。Android の PAC サービスは、FindProxyForURL を実行する前にファイルを取得する必要があります。利用できないスクリプトを使って、その同じスクリプトを取得する方法を見つけることはできません。ファイルマネージャーの保存パスは、サービスが読み込めるネットワークリソースでは自動的にはありません。
このポリシーは、Android のプロキシ構成をサポートするクライアントで使用します。PAC アドレスを設定しても、無関係な生の接続に HTTP や SOCKS のネゴシエーションが追加されるわけではありません。