我一直在尋找一些有關連接埠轉送至連接埠 80 的替代方案的文檔。
有好的替代 HTTP 連接埠嗎? (或者,我也願意針對這種情況採取一些解決方法。)
答案1
許多 ISP 會阻止家庭用戶使用連接埠 80 (HTTP) 和連接埠 25 (SMTP),以及其他一些連接埠。通常,他們對此的回應是這些協議是「與業務相關的」或類似的內容。我想你的情況就是這樣。
80埠是這HTTP 標準。當您superuser.com
在瀏覽器的網址列中輸入內容時,它會假設兩件事:
- 由於您忽略了協議,因此它假定 HTTP (http://superuser.com)
- 由於您遺漏了端口,因此根據 HTTP 假設,它採用端口 80 (http://superuser.com:80)
由於連接埠 80 不是一個選項,因此您需要找到替代連接埠。沒有官方的HTTP 替代連接埠。
當連接埠 80 用於一個位址/網路伺服器時,將連接埠 8080 或 8000 用於同一位址/網路伺服器上的另一個站點是相當常見的。這很可能是因為它們與 80 足夠相似,因此很容易記住。我也看到面向外部的網站也這樣做過。
或者,您可以使用任何您想要的連接埠。看到這個清單標準和非官方端口。如果您不打算使用 telnet 連接到 Linux 計算機,則可以在連接埠 23 上執行它。在網頁瀏覽器中,您只需鍵入domain.com:23
。
答案2
實際上有 3 個 HTTP 替代連接埠:591、8008 和 8080。
它們被 IANA 指定為“HTTP 替代”,這使得它們幾乎是官方的。
如果您以非特權使用者(非 root)身分執行 Linux,則可以偵聽 1024 以上的任何端口,因此 8008 和 8080 是不錯的選擇。然後,要從瀏覽器存取伺服器,您需要在 url 中指定端口,例如http://localhost:8080
。
您也可以使用 49152–65535 範圍內的連接埠。它們被標記為“動態連接埠”並且永遠不會由 IANA 分配,但因此它們可能已被其他軟體使用。這意味著您不能相信給定連接埠在任何給定時間都可供您使用,並且每次要使用該連接埠時都必須檢查該連接埠的可用性。
請注意,連接埠 8000 有時用於 HTTP,但IANA 將其分配給 iRDMI(英特爾遠端桌面管理介面)。雖然這在私有環境中不太可能成為問題,但最好不要將其用於 HTTP,因為有更好的替代方案可用。
答案3
正如這裡的其他人所說,在連接埠 80 以外的任何連接埠上託管 Web 伺服器基本上是沒有意義的......除非您在家中託管它。許多 ISP 限制出站 TCP/UDP 連接埠 80 和 443(網路號碼分配機構定義為HTTP協定和HTTPS,分別),在這種情況下,使用這些連接埠會降低網站載入速度等。網路號碼分配機構已分配 3HTTP-ALTTCP 和 UDP 連接埠。它們是:591、8008 和 8080。
連接埠號碼來源:https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml