我在通过 ssh 端口转发打开网页时遇到问题:
远程控制[电子邮件保护]-L 7182:10.1.11.82:80
172.22.123.71 是一台可以访问服务器 10.1.11.82 网络的 PC
然后我在浏览器中打开 localhost:7182 或 127.0.0.1:7182 并得到127.0.0.1 拒绝连接错误。
我在 CLI 中检查:
$ telnet 本地主机 7182
转义字符是‘^]’。
HTTP/1.0 400 错误请求 内容类型:text/html 内容长度:345 连接:关闭 日期:2023 年 7 月 22 日星期六 16:48:49 GMT 服务器:HTTP 服务器
“-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”"> 400 错误请求400 错误请求
连接被外部主机关闭。尝试 127.0.0.1... 连接到本地主机。
这意味着 ssh 转发正在工作。在 CLI 中,远程服务器通过 localhost 端口 71 82 打开连接。所以问题是本地的。我在 Ubuntu 20.04 上没有使用任何防火墙、iptables 或代理。这 3 个浏览器 FF、Chrome、Brave 也一样。我尝试清除 cookie。此外,当我在类似但不同的主机上尝试相同的操作时,它也能正常工作。
我将非常感激任何线索!因为这个问题非常烦人。
$ sudo netstat -tulpn | grep 7182
tcp 0 0 127.0.0.1:7182 0.0.0.0:* LISTEN 34957/ssh
tcp6 0 0 ::1:7182 :::* LISTEN 34957/ssh
我还注意到,当我在浏览器中尝试时,端口号会在地址行中消失。但当我尝试一些没有侦听器的本地主机端口时,端口号不会消失。