首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过PAC/WPAD文件从代理中排除具有非标准端口的URL

通过PAC/WPAD文件从代理中排除具有非标准端口的URL
EN

Server Fault用户
提问于 2015-07-24 07:53:36
回答 3查看 5.8K关注 0票数 0

我正在运行一个Squid代理,并希望排除通过非标准端口访问的某个web地址,而不是在squid.conf内的ACL中打开端口(似乎是它的一个特定用法)。

在我的例子中,在http://和https://.上存在问题的TCP 2222 (DirectAdmin)端口我不确定在不打开端口本身的情况下是否真的可以这样做,但我确实找到了几篇关于用PAC/WPAD绕过带有非标准端口的URL的文章。我尝试过如下所示的规则集,它为TLD设置了通配符,为非标准端口URL设置了特定规则。

代码语言:javascript
复制
 if (shExpMatch(host, "*.somedomain.com") ||
     shExpMatch(url, "http://example.somedomain.com:2222/*") ||
     shExpMatch(url, "https://example.somedomain.com:2222/*"))
     return "DIRECT";

使用pactester,我从规则测试中得到了直接的正确响应。

代码语言:javascript
复制
pactester -p /path/to/wpad.dat -u http://example.somedomain.com
DIRECT
pactester -p /path/to/wpad.dat -u http://example.somedomain.com:2222
DIRECT
pactester -p /path/to/wpad.dat -u https://example.somedomain.com:2222
DIRECT

然而,当我在浏览器中得到“代理拒绝连接”等信息时,请求似乎仍在通过代理发送。端口本身不被阻塞,我可以告诉它,但是Sqiud不允许端口。虽然这是我试图避免做的,而直接反应无疑意味着绕开?

这实际上是否有可能实现与PAC/WPAD与非标准端口,或他们的另一种方式绕过和直接发送这一具体情况?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2015-07-24 13:09:21

原始配置

代码语言:javascript
复制
if (shExpMatch(host, "*.somedomain.co.uk") ||
     shExpMatch(url, "http://example.somedomain.com:2222/*") ||
     shExpMatch(url, "https://example.somedomain.com:2222/*"))
     return "DIRECT";

你确定这不应该

代码语言:javascript
复制
if (shExpMatch(host, "*.somedomain.co.uk") ||
     shExpMatch(url, "http://example.somedomain.co.uk:2222/*") ||
     shExpMatch(url, "https://example.somedomain.co.uk:2222/*"))
     return "DIRECT";

您可能正在尝试访问example.somedomain.co.uk,但是您的条件是为example.somedomain.com编写的,所以它一直在访问代理?

票数 0
EN

Server Fault用户

发布于 2017-01-30 12:11:06

如果您想要更通用的东西,允许所有需要非标准端口的请求直接执行,请尝试:

代码语言:javascript
复制
if (shExpMatch(url, "*://" + host + ":*"))
    return "DIRECT";

这并不完美(您可能需要修改,以便显式地为协议指定标准端口的请求,例如:80用于HTTP,和:443用于HTTPS仍然通过代理),但它应该能够捕获大多数请求。欢迎精益求精。

票数 1
EN

Server Fault用户

发布于 2015-07-24 13:34:20

看起来它是缓存和糟糕的isInNet规则的组合,它覆盖了特定端口if语句中的直接规则。

当以正确的顺序执行时,发布的规则示例确实有效!

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

https://serverfault.com/questions/708165

复制
相关文章

相似问题

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