Linux
我可以使用 SSH 隧道訪問在同一伺服器上偵聽不同 IP/埠的 Web 伺服器嗎?
我有一個網路伺服器,還沒有完全準備好普遍可用,但我仍然想遠端測試一些東西。我可以利用 SSH 隧道連接到伺服器,然後使用隧道路由到在同一伺服器上執行的 Web 服務嗎?如果有怎麼辦?
我意識到實施防火牆例外會更容易,但目前這不是一個選擇。
對不起,如果這令人困惑。我同意這是一個獨特的場景。
CentOS 5.x
我知道 cherokee 管理是這樣工作的,所以假設您已將您的網路伺服器綁定到埠 8080 上的 localhost
ssh -L 8080:localhost:8080 your_servers_ip
之後,您可以通過http://localhost:8080訪問遠端介面,每個請求都將轉發到執行您的網路伺服器的遠端 IP。
盧卡斯所說的,其中“localhost”也可以是來自 SSH 主機的任何可訪問的 IP 地址。
請注意,如果您使用名稱虛擬主機,您還需要執行 /etc/hosts hack,以便將一些內容附加到現有的 127.0.0.1 行,例如:
127.0.0.1 localhost secretwebserver.example.com
然後,您的瀏覽器可以使用http://secretwebserver.example.com:8080。