为什么对 LAN 上的服务器发出 https 请求时要绕过代理

为什么对 LAN 上的服务器发出 https 请求时要绕过代理

我编写了一个基于节点的正向代理,当访问外部网站时,它可以很好地与 http 和 https 配合使用。但是,对于本地网站(即托管在同一 LAN 上的网站),我遇到了问题。代理似乎被绕过了https://www.example.com但不会被绕过http://www.example.com,其中 example.com 在同一 LAN 上本地托管。

我的 /etc/environment 设置为(env|grep -i proxy 的输出):

NO_PROXY=localhost
http_proxy=http://192.168.1.80:5500/
ftp_proxy=ftp://192.168.1.168:3128/
socks_proxy=socks://192.168.1.168:3128/
https_proxy=https://192.168.1.80:5500/
HTTPS_PROXY=http://192.168.1.80:5500/
no_proxy=localhost
HTTP_PROXY=http://192.168.1.80:5500/

我设置了反向代理,它接受通过 https 或 http 的连接,并将其转发到位于同一台机器上但在不同端口上运行的内部服务器。与反向代理的连接通过 https 是安全的,但从那里到内部服务器的连接通过 http 是不安全的。此外,所有对http://www.example.com由反向代理重定向到https://www.example.com第一的。

我的主要问题是,Chrome 和 Firefox 都绕过了托管在同一 LAN 上的网站的代理,即使我通过公开注册的域名访问该网站。代理对所有外部网站都运行良好。

我需要在这些浏览器或 Linux 环境变量中设置一些东西吗?

相关内容