首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除wpad中的本地地址

排除wpad中的本地地址
EN

Unix & Linux用户
提问于 2018-09-24 23:14:28
回答 1查看 1.6K关注 0票数 1

我有一个代理Ubuntu18.04,有squid 3128和apache2,我用dhcp 252选项发布了自动配置文件proxy.pac。

该文件的内容如下:

代码语言:javascript
复制
function FindProxyForURL(url, host) {return "PROXY 192.168.0.10:3128";}

在我的本地网络中的一些计算机上,有一些应用程序具有以下urls可供访问:

代码语言:javascript
复制
http://localhost:8080
http://192.168.0.12:8090/app/bar

问题是鱿鱼对这类请求有限制。

如何配置proxy.pac以排除对本地地址的请求?(例如: 192.168.0.0/24或localhost:port)

需要注意的是,临时解决方案是将代理的ip:端口手动放置在浏览器中(在Windows: Control /Internet中),并选择“不要将代理服务器用于本地地址”,但这样proxy.pac就没有意义了。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-09-25 09:44:10

将该函数更改为:

代码语言:javascript
复制
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")。

最后,默认情况是使用代理。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/471202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档