본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

Proxy.pac file syntax is not correctly recognized in Firefox 4 final.

  • 5 답장
  • 66 이 문제를 만남
  • 12 보기
  • 최종 답변자: Velnias

more options

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.)

here is the script:

function FindProxyForURL(url, host)
{
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
        return "DIRECT";
if (isInNet(host, "127.0.0.1", "255.255.255.0"))
        return "DIRECT";
if (shExpMatch(url, "feed:*"))
        return "DIRECT" ;
if (shExpMatch(url, "ftp:*"))
        return "DIRECT" ;
if (shExpMatch( host, "localhost" ))
        return "DIRECT";
if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24"))
        return "PROXY 10.10.11.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24"))
        return "PROXY 10.10.12.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24"))
        return "PROXY 10.10.10.100:3128; DIRECT";
else
	return "DIRECT";
}

it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.)

It was working correctly in FF3.6 and is still working in IE8.

System is Win 7 Ent. x64 bit. FF4 final.

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.) here is the script: <pre><nowiki>function FindProxyForURL(url, host) { if (isInNet(host, "10.0.0.0", "255.0.0.0")) return "DIRECT"; if (isInNet(host, "127.0.0.1", "255.255.255.0")) return "DIRECT"; if (shExpMatch(url, "feed:*")) return "DIRECT" ; if (shExpMatch(url, "ftp:*")) return "DIRECT" ; if (shExpMatch( host, "localhost" )) return "DIRECT"; if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24")) return "PROXY 10.10.11.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24")) return "PROXY 10.10.12.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24")) return "PROXY 10.10.10.100:3128; DIRECT"; else return "DIRECT"; } </nowiki></pre> it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.) It was working correctly in FF3.6 and is still working in IE8. System is Win 7 Ent. x64 bit. FF4 final.

글쓴이 cor-el 수정일시

모든 댓글 (5)

more options

Hi,

I have encountered the same issue and I have bypassed it as follow:

  1. about:config
  2. Search and set the option "network.dns.disableIPv6" to true

For my side, the options "use a PAC file" or "use system proxy settings" work with this change.

Bye. Francois

more options

Well it did not worked for me. Still have the same problem.

more options

Do you have multiple IP addresses on your client machine? If so, the myIpAddress() function returns only the IP of the first adapter it looks at. If you have wired, wireless, IPv6, etc addresses on your client, the myIPAddress() function will only return the first one it finds.

For example, if you are looking for an IP on a wired subnet, and your first adapter is wireless, the function will return the address of your wireless adapter, and the "else if" criteria will not apply.

more options

This is still not working. And after upgrading to Firefox 6.0 the pac file does not work at all.

more options

And no, i do not have multiple IP's. And use only IP4