簡體   English   中英

麻煩SSH隧道到遠程服務器

[英]Trouble SSH Tunneling to remote server

我試圖從我的本地機器到一個被IP鎖定的遠程供應商的網站(我們的公司服務器被允許訪問)。 我通過從可以訪問API的服務器進行隧道傳輸而沒有問題,但是,當我設置SSH隧道並轉到供應商網站上的URL時,我收到404 Not Found錯誤。 這是我正在使用的:

ssh -f -N user@example.com -L 7777:vendorhostexample.com:80

一切都表明隧道設置正確,但如果我嘗試一個URL,如'http:// localhost:7777 / foobar',我得到404錯誤。 有任何想法嗎?

您的問題是您正在發送http標頭“Location:localhost”,這意味着如果目標網絡服務器正在使用虛擬主機,它將嘗試查找網站“localhost”而不是網站“vendorhostexample.com”

有一種方法是Ryan指出要修改你的主機文件並告訴你的機器,它是在127.0.0.1上的vendorhostexample.com,那么當你在瀏覽器中輸入它時,你將通過右邊的“Host:”http頭穿過隧道組。

另一種方式它安裝了更改瀏覽器的主機頭就像一個擴展這個用於Firefox。

其他人已經提到了域名與錯誤的虛擬主機匹配的問題。 另一種解決方案可以是使用動態隧道。

如果使用-D 8080標志打開連接,SSH將打開動態隧道,並在端口8080上公開SOCKS代理。如果您將瀏覽器(或您選擇的應用程序)設置為在localhost上使用SOCKS代理: 8080,您可以將所有流量隧道傳輸到服務器。

您可以編輯本地主機(/ etc / hosts for linux)文件,並添加如下行:

127.0.0.1 vendorhostexample.com

然后再試一次。

你用這打破了HTTP。 您的瀏覽器在HTTP標頭中發送主機名localhost ,這意味着您要求供應商網站的localhost網站。 他們幾乎肯定沒有在他們的服務器上輸入localhost站點,所以你得到了404。

您無法以您的方式隧道傳輸HTTP。 您需要在公司服務器上設置正確的HTTP代理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM