wpadからローカルアドレスを除外する

wpadからローカルアドレスを除外する

私はsquid 3128とapache2を含むプロキシUbuntu 18.04を持っており、dhcp 252オプションを使用して自動設定ファイルであるProxy.pacを公開しました。

ファイルには次の内容が含まれています。

function FindProxyForURL(url, host) {return "PROXY 192.168.0.10:3128";}

私のローカルネットワークの一部のコンピュータには、次のURLにアクセスできるアプリケーションがあります。

http://localhost:8080
http://192.168.0.12:8090/app/bar

問題は、イカがそのような要求に制限があるということです。

ローカルアドレスに対する要求を除外するようにProxy.pacをどのように設定しますか? (例:192.168.0.0/24またはlocalhost:port)

一時的な回避策は、ブラウザ(Windows:コントロールパネル/インターネットオプション)にプロキシのip:portを手動で入力し、[ローカルアドレスにプロキシサーバーを使用しない]ボックスを選択してProxy.pacがこれを実行しないことです。重要性。

答え1

機能を次に変更します。

function FindProxyForURL(url,host) {
    var hostIP;
    if (isIpV4Addr.test (host)) {
        hostIP = host;
    }
    else {
        hostIP = dnsResolve(host);
    }
    if (isInNet(hostIP, "192.168.0.0", "255.255.255.0")) {
        return "DIRECT";
    }
    if (host == "localhost") {
        return "DIRECT";
    }
    return "PROXY 192.168.0.10:3128";
}

まず、ホスト部分がIPv4番号であることを確認してください。その場合は、IPとして直接使用してください。

そうでない場合は、ホスト部分をIPアドレスで確認し、結果を使用してください。

その後、IPアドレスを指定されたサブネットと一致させ、一致する場合はブラウザにホストに直接アクセスするように指示します。

また、ホスト名が「localhost」の場合、ブラウザはホストに直接アクセスするように指示されます(ブラウザが「localhost」にこの機能を使用するかどうか疑問に思います)。

最後に、デフォルトはプロキシを使用することです。

関連情報