我有一个代理 Ubuntu 18.04,带有 squid 3128 和 apache2,我发布了带有选项 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
问题是 squid 对这种类型的请求有限制
如何配置 proxy.pac 以排除对本地地址的请求?(例如:192.168.0.0/24 或 localhost:port)
需要注意的重要一点是,临时解决方案是手动将代理的 ip:port 放入浏览器中(在 Windows:控制面板/Internet 选项中),然后选中“不要将代理服务器用于本地地址”框,然后proxy.pac 没有意义。
把函数改成这样:
这首先检查主机部分是否为 IPv4 号码。如果是,则直接用作IP。
如果不是,则将主机部分解析为 IP 地址并使用结果。
然后它将 IP 地址与指定的子网进行匹配;如果匹配,则指示浏览器直接访问主机。
如果主机名是“localhost”,浏览器也被指示直接访问主机(虽然我想知道浏览器是否会为“localhost”使用这个功能)。
最后,默认是使用代理。