我觉得自己像个菜鸟,因为我无法弄清楚这一点。我在路由器后面有一台 Linux 机器(运行 raspbian 的树莓派),我试图在其上托管一个网站(由于 ISP,端口转发不是一个选项)。
为了解决这个问题,我想通过具有公共 IP 的机器路由流量,但我无法弄清楚如何建立正确的 ssh 隧道。
curl 192.168.1.135:88
当我从网络内运行时,我收到“欢迎访问我的网站”。然而,当我在树莓派上运行时:
sudo ssh -R 8080:127.0.0.1:88 -N [email protected]
curl marhuenda.in:8080
我得到:curl: (7) Failed to connect to my.domain port 8080: Connection refused
。
但是8080端口是开放的,我检查了防火墙的配置。所以我不知道为什么它不将我的请求传送到 rpi。
编辑:my.domain 上机器的输出:
netstat -an | grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN
tcp6 0 0 ::1:8080 :::* LISTEN
编辑:为了澄清,我可以从本地网络中的任何计算机连接到端口 88 上的树莓派。 (所以curl 127.0.0.1:88
返回与 相同的东西192.168.1.135:88
)。但是,curl my.domain
除了 my.domain 上的远程计算机正在侦听端口 8080 之外,还拒绝连接。
我尝试过的其他事情(根据其他人的建议):使用绑定地址:0.0.0.0:8080:127.0.0.1:88 并更改配置以允许网关端口。
依然没有。