我有:
1)我连接的VPN服务器(SoftEther)
2)IP表规则将所有流量从VPN发送到代理服务器
3)代理服务器(Java)。我使用LittleProxy https://github.com/adamfisk/LittleProxy。它不会拦截HTTPS流量。
所有这些项目都是这样连接的:
VPN客户端===> VPN服务器===>代理服务器===>的Intenet
HTTP流量工作正常,但HTTPS没有 当我尝试转到https://google.com时,我在Chrome中看到错误:此网站无法提供安全连接
当我将浏览器直接连接到代理服务器时 - HTTPS工作正常 当我只连接到VPN服务器时 - HTTPS工作正常。
如果我将VPN切换到OpenVPN,则会出现同样的问题。
在嗅探流量后,我发现HTTPS请求正试图通过HTTP协议转到HTTPS地址。这似乎是重定向的一些问题,因为当我刚刚访问www.google.com时,经过2次重定向(由谷歌生成)后,我可以通过https访问谷歌,但是当我输入https // google.com时 - 错误。
在Wireshark中我收到400错误:专家信息(警告/安全):通过加密端口检测到未加密的HTTP协议,可能表示存在危险的错误配置。
我的IP表规则:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- ip-192-168-200-0.ec2.internal/24 anywhere tcp dpt:http to:172.31.64.145:9090
DNAT tcp -- ip-192-168-200-0.ec2.internal/24 anywhere tcp dpt:https to:172.31.64.145:9090
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- ip-192-168-200-0.ec2.internal/24 anywhere
MASQUERADE all -- ip-192-168-200-0.ec2.internal anywhere
172.31.64.145:9090 - 代理服务器的IP VPN服务器和代理服务器在同一AWS实例上运行。