Ubuntu 22.04 no_proxy 似乎被忽略了

Ubuntu 22.04 no_proxy 似乎被忽略了

已经使用网络代理的系统设置 UI 和环境变量http_proxyhttps_proxyno_proxy(以及大写版本)配置了代理。

环境变量已在其中一个/etc/profile.d/proxy.sh/etc/environment另一个中持久化(只能选择一个,不能同时选择两个,并且在更改后进行电源循环以确保使用设置脚本)。

还通过覆盖命令行上的环境变量进行了实验。

已尝试的方法概括如下:

# doesn't work
curl 192.168.0.1

# still doesn't work
export NO_PROXY=192.168.0.0/16
export no_proxy=$NO_PROXY
curl 192.168.0.1

# HTTP port is accessible
nc -zvw 1 192.16.0.1 80

# works!
curl --noproxy '*' 192.168.0.1

# works!
unset HTTPS_PROXY https_proxy HTTP_PROXY http_proxy NO_PROXY no_proxy
curl 192.168.0.1

当我在上面提到“不起作用”时,代理会做出回复,而不是 HTTP 服务器。

此外,这不仅限于 curl。通过 UI 设置的代理设置由 Firefox 使用,但只有在 Firefox 自己的设置中将 IP 设置在“无代理”列表中才能访问 192.168.0.1 服务器。

因此,感觉 22.04 不像旧版本那样使用 NO_PROXY 和 no_proxy,对吗?

答案1

代理变量是某种噩梦。 no_proxy:此变量应包含以逗号分隔的域扩展列表,代理不应用于

所以尝试

printf -v no_proxy '%s,' 192.168.{1..255}.{1..255};
export no_proxy="${no_proxy%,}";

答案2

对于 Firefox,我发现卸载 snap 版本并通过 apt 安装会对 http_proxy 环境变量产生影响

相关内容