反向SSH隧道(非本地)配置问题:远程服务器无法访问目标站点
问题原因及解决办法
你的核心问题是SSH隧道的目标端口与目标站点的服务端口不匹配,具体分析和修复步骤如下:
错误根源:你要访问的是
https://example.com/site,这是HTTPS协议,对应服务端口是443,但你创建隧道时指定的是example.com:80(HTTP端口)。本地访问http://example.com/site能正常,是因为本地环境中example.com的80端口会自动重定向到HTTPS(301/302跳转),wget会自动跟随跳转完成请求;但远程服务器是隔离的,隧道仅转发了80端口流量,跳转后的HTTPS请求无法直接访问外部网络,最终导致404错误。修复步骤:
- 重新创建SSH隧道,将目标端口改为443:
ssh -R 6761:example.com:443 remote-server - 在远程服务器上使用HTTPS协议访问,同时因为localhost的证书与example.com不匹配,需要忽略证书校验:
wget --no-check-certificate https://localhost:6761/site
- 重新创建SSH隧道,将目标端口改为443:
内容的提问来源于stack exchange,提问作者Gleb
相关产品推荐
相关产品推荐

