我们将开始在我们的环境中使用 proxy.pac 文件。它将是一个非常简单的文件,大多数流量都流向代理,但少数网站直接流向(它们在内部托管等)。
我们有几个网站需要添加才能直接访问,但只能在特定端口上访问。我的意思是
http://www.test.com- 通过代理 http://www.test.com:765- 直接前往
任何人都可以建议我如何做到这一点,因为我甚至无法让它与 URL 选项一起工作。
谢谢
答案1
这对我来说似乎很好用:
function FindProxyForURL(url, host) {
if ( shExpMatch(url, "http://www.test.com:765/*") ) { return "DIRECT"; }
return "PROXY proxy:port";
}
顺便说一句,你可以使用 alert() 进行调试,至少在 IE 下是这样。虽然它很差劲,但至少可以让你了解脚本正在做什么。显然,在投入生产之前,请将其删除。
答案2
如果你想要更通用的东西,允许全部需要非标准端口直接传输的请求,请尝试:
if (shExpMatch(url, "*://" + host + ":*"))
return "DIRECT";
它并不完美(您可能希望进行修改,以便明确指定协议标准端口(例如 HTTP 的 :80 和 HTTPS 的 :443)的请求仍通过代理发送),但它应该可以捕获大多数请求。欢迎改进。
答案3
为什么不设置内部代理来使用虚拟主机代理 test.com:765 等并将其添加到 proxy.pac ?