[英]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.