手账正文

NO_PROXY 不生效?先看你排除的是哪个目标

已经把 127.0.0.1 写进 NO_PROXY,怎么访问别的网站还是经过本机代理?因为这个列表主要匹配你要访问的目标,而不是代理运行在哪里。

先分清“访问谁”和“经过谁”

假设目标是 files.example.com,代理是电脑上的 127.0.0.1:7890。想让这个网站直连,要核对的是目标域名,不是看到代理在本机就只填本机地址。

这里以 curl 为例,其他软件对变量和匹配方式的支持可能不同,要各自查说明。

列表里填目标,不填整串网页地址

通常用逗号分隔域名或地址,不要把 https://、页面路径和查询参数一起贴进去。域名层级也决定范围,排除整个域名与只排除某个子域不是同一件事。

不要把它当成任意文字搜索。想排除几个明确目标,就从这几个开始,避免用过大范围把其他服务也一起改变。

IP 和域名不要想当然地互换

访问的是域名时,不能假定写一个它可能解析到的 IP 网段,就能让所有软件自动按这个范围排除。网段写法是否支持,还可能取决于工具版本。

先查看 curl.exe --version,再按对应手册使用。不要把一个客户端的效果推广到全部命令行工具。

最后检查变量在哪里生效

终端、后台任务和容器可能读取不同环境。刚改好的变量,也未必已经传到原来打开的窗口或运行中的程序。

curl 还提供 --noproxy 命令行选项,可用于一次明确的对照。确认实际走向后再设置长期规则;目标访问成功与有没有经过代理,也要分开验证。

接着看

资料参考

评论

搜索文章

正在加载搜索…