SSH隧道代理无法访问MACHINE1内网HTTPS服务器test12求助
解决SSH隧道无法访问MACHINE1内网HTTPS服务器的问题
咱们先捋清楚问题根源:你当前用Putty搭建的SSH隧道应该是动态SOCKS代理,这种配置能正常转发公网请求,但对MACHINE1所在内网的test12服务器,要么是代理规则没覆盖到内网流量,要么是错误修改hosts导致请求没走隧道。下面给你两种针对性的解决方案:
方案一:本地端口转发(推荐,直接映射内网服务)
这种方式相当于把MACHINE2的一个本地端口,直接通过MACHINE1中转到test12的HTTPS端口,操作步骤很简单:
- 打开Putty,加载你连接MACHINE1的会话配置
- 左侧导航栏进入
Connection > SSH > Tunnels - 在Source port输入一个未被占用的本地端口,比如
8443 - 在Destination输入
10.0.0.1:443(test12的IP+HTTPS默认端口) - 确保勾选Local和Auto选项,点击
Add,此时转发规则会出现在Forwarded ports列表里 - 回到Session页面,点击
Open建立SSH连接
连接成功后,在MACHINE2的浏览器里访问 https://127.0.0.1:8443 就能直接打开test12页面。如果想保留test12域名访问,可以修改MACHINE2的hosts文件,把test12指向127.0.0.1,然后访问https://test12:8443即可。
方案二:调整动态SOCKS代理规则(适合多内网站点场景)
如果你用的是动态SOCKS代理(比如配置了D1080这类规则),需要确保内网域名的请求走代理:
- 先删掉MACHINE2 hosts文件里
test12指向127.0.0.1的规则——这条配置会让浏览器直接访问本地,完全绕开SSH隧道 - 打开IE的Internet选项 > 连接 > 局域网设置,点击「高级」按钮
- 在例外列表里检查是否有
test12,如果有就删掉(例外里的域名不会走代理) - 确认SOCKS代理地址是
127.0.0.1,端口和Putty里配置的动态代理端口一致(比如1080) - 重启浏览器,尝试访问
https://test12
额外必查项
- 先在MACHINE1本地测试访问
https://10.0.0.1,确认MACHINE1本身能正常连接test12 - 检查MACHINE1的防火墙是否允许转发到
10.0.0.1:443的流量 - 如果test12用的是自定义HTTPS端口,记得在转发规则里替换成对应端口
内容的提问来源于stack exchange,提问作者Neo_95
相关产品推荐
相关产品推荐

