Mozilla FirefoxのWpadファイルに関する問題

Mozilla FirefoxのWpadファイルに関する問題

私にはwpad.pacがあります。

function FindProxyForURL(url, host) {
if (isPlainHostName(host) ||
    shExpMatch(host, "*.local") ||
    isInNet(dnsResolve(host), "192.168.0.0", "255.255.255.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";
return "PROXY 192.168.0.1:3128";
}

私のサーバーはSquid Cache v3.5.27(3128)とApache v2.4.33を含むUbuntu 18.04.1 x64で、dhcp 252オプションを使用してwpad.pacを公開します。

option wpad code 252 = text;
option wpad \"http://192.168.0.1:3500/wpad.pac\";

ファイルは次の場所に保存されます。

/var/www/html/wpad.pac

次のリンクに掲載されています。

http://192.168.0.1:3500/wpad.pac

wpad.confを使用してApacheで管理します。

<VirtualHost *:3500>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
<Directory />
    Options FollowSymLinks
    DirectoryIndex wpad.pac
    AllowOverride None
</Directory>
<Directory /var/www/html/>
    # serve proxy autoconfig correctly:
<Files "wpad.pac">
    AddType application/x-ns-proxy-autoconfig .pac
</Files>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride ALL
        Require all granted
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ports.confから:

Listen 3500

ファイアウォールルール:

iptables -t mangle -A PREROUTING -i enp2s0 -p tcp --dport 3500 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -i enp2s0 -p tcp --dport 3500 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i enp2s0 -p tcp --dport 3500 -j ACCEPT

Chrome 69.0.3497.100、IE v11.0.9600.19100、Opera 55.0.2994.61では動作しますが、デフォルト設定のMozilla Firefox 62.0.2では動作しません(Edgeではテストしていませんが関係ありません)。ただし、Mozillaはwpad.pac URLを正しくロードしますが、ナビゲーション機能はありません(以前のバージョンでも機能しませんでした)。

私のwpad.pacに何の問題がありますか?

重要:

  1. 私のローカルネットワーク上のすべてのMozillaにはコンピュータがたくさんあるので、wpad.pacのURLを指定したくありません。基本設定を使いたいです。

  2. Androidスマートフォンでも私のwpadを検出できません。 (iPhoneでは使ったことがありません。)

  3. 一部のWebサイトでは、Firefoxでipv6を無効にする必要があると言います(「about:config」network.dns.disableIPv6がtrueです)。これを行いましたが、解決策は機能しません。

  4. 別のwpad.pacファイルを使用しましたが、Firefoxでも機能しません。

選択肢1:

function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.0.0", "255.255.255.0"))
return "DIRECT";
else
return "192.168.0.1:3128";
}

代替2:

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.1:3128";
}

代替3:

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

事前にありがとう

答え1

Firefox Quantum 63xにアップグレードした後の問題が解決されました。

関連情報