嘗試透過 IP 或使用 ssh -L 存取網站會出現伺服器 404

嘗試透過 IP 或使用 ssh -L 存取網站會出現伺服器 404

我正在嘗試訪問www.fallenlondon.com透過其 IP 位址。然而,兩者都ebz-2-1147703023.eu-west-1.elb.amazonaws.com給出46.137.175.221了伺服器錯誤:404。

ssh -L *:8080:www.fallenlondon.com:80 me@myremotehost如果我這樣做,然後導航到localhost:8080(這對於谷歌和我嘗試過的其他幾個隨機網站來說效果很好),我也會遇到同樣的問題。

有人可以解釋一下這裡發生了什麼事嗎?一個解決方案也將不勝感激。

編輯: 按照凱爾瓊斯的回答,顯然這是由於伺服器在 HTTP 主機頭中沒有包含(所需的)網域資訊來消除歧義並給出我想要的結果而引起的。

有什麼方法可以確保標頭在兩個用例中都包含我想要的內容嗎?


ns查找:

nslookup www.fallenlondon.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
www.fallenlondon.com    canonical name = ebz-2-1147703023.eu-west-1.elb.amazonaws.com.
Name:   ebz-2-1147703023.eu-west-1.elb.amazonaws.com
Address: 46.137.175.221

主持人:

host www.fallenlondon.com
www.fallenlondon.com is an alias for ebz-2-1147703023.eu-west-1.elb.amazonaws.com.
ebz-2-1147703023.eu-west-1.elb.amazonaws.com has address 46.137.175.221

host fallenlondon.com
fallenlondon.com has address 46.137.122.254
fallenlondon.com mail is handled by 30 aspmx3.googlemail.com.
fallenlondon.com mail is handled by 10 aspmx.l.google.com.
fallenlondon.com mail is handled by 20 alt1.aspmx.l.google.com.
fallenlondon.com mail is handled by 20 alt2.aspmx.l.google.com.
fallenlondon.com mail is handled by 30 aspmx2.googlemail.com.

答案1

IP 位址對於特定網站不一定是唯一的。

多年來,Web 供應商一直使用 HTTP 1.1 主機標頭來區分網站並透過單一 IP 位址為多個網站提供服務。您的 Web 瀏覽器會向 Web 伺服器發送一個 Host 標頭,告訴它您要求的網站的域名,然後伺服器會傳回正確的頁面。如果您只提供 IP 位址,伺服器將無法確定您想要哪個網站(在 IP 位址後面可能存在多個網站)。在這種情況下,有些網站會返回通用頁面,有些網站會向瀏覽器傳回錯誤代碼。

我認為您必須將 www.fallenlondon.com 的條目新增至 /etc/hosts(或您的系統支援的任何等效靜態主機表),該條目指向 127.0.0.1。然後,您可以使用 www.fallenlondon.com:8080 到達隧道的本機端點,並且具有正確網域的主機標頭將透過 ssh 隧道傳送至 AWS 伺服器。我在這裡嘗試過,它對我有用。

相關內容