Linux
無法訪問使用 ssh 轉發的 http 服務
我將一個埠從遠端伺服器(上面執行著 Tomcat)轉發到我機器上的本地埠。
比如說,如果遠端伺服器地址是http://myremoteserver.com:8080,我通過這種方式將埠轉發到 localhost:
ssh -L 8080:myremoteserver.com:8080 -N watson
注意:只能通過 watson 訪問 myremoteserver。
轉發後,如果我在瀏覽器上執行 localhost:8080 ,我可以看到輸出。但是,如果我嘗試通過瀏覽器(例如 server1:8080)從網路上的任何其他電腦(本地主機的 DNS 為 server1)訪問此本地主機,它根本不會載入。
奇怪的是,如果我在 localhost 上執行 tomcat(而不是通過 ssh 進行埠轉發),並通過瀏覽器從網路上的另一台機器 server1:8080 訪問它,它就可以工作。
請幫忙。我認為它必須與 iptables 做一些事情;但即使關閉它也不起作用。
試試這個:
ssh -L *:8080:myremoteserver.com:8080 -N watson
man ssh
選項的摘錄-L
:By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.