如何設置 Apache 使用埠 1 和 80 以下的其他埠?
mysql 使用者不能使用低於 1024 的埠,因為這些埠是為 root 使用者保留的。
另一方面,Apache 可以使用埠 80。Apache 在作為 Apache 執行之前以 root 身份執行,因此它可以使用埠 80。它甚至可以偵聽埠 81 和任何其他埠。
但是,當我試圖讓 Apache 監聽埠 79 時,它不起作用。我也嘗試在埠 1 上收聽,但也沒有用。
當我更改 Apache 設置時,Apache 重新啟動就好了,但它實際上並不能在 Web 上執行。
我可以在網路上使用埠 1 嗎?
我將使用 Firefox 作為範例,因為它是開源的並且很容易找到相關資訊,但這也適用於其他瀏覽器(可能與埠列表略有不同)。
2001 年 8 月,CERT 發布了一份關於如何使用 Web 瀏覽器向攻擊者選擇的任意 IP 地址上的 TCP 埠發送近乎任意數據的漏洞說明。例如,這可用於發送看似來自執行 Web 瀏覽器的使用者的電子郵件。為了緩解這種情況,Mozilla(以及許多其他供應商)阻止了 Firefox 訪問某些埠。
您嘗試的兩個埠 79 和 1 恰好在阻止列表中。源包含阻塞埠的完整列表。您可以(在您的瀏覽器上)使用首選項
network.security.ports.banned.override
和network.security.ports.banned
. 這通常在 Internet 上沒有用,因為您必須說服所有可能訪問您的站點的人去訪問about:config
並更改它們。(注意:目前版本的 Firefox 將給出一條錯誤消息,說明如果您嘗試瀏覽到被阻止埠上的站點。)
一般來說,沒有理由使用額外的 HTTP 埠,至少在外部是這樣。如果必須,請選擇不太可能被阻止的傳統額外埠(如 8080、8000 等)或至少在 IANA 分配的系統埠範圍 (0-1023) 之外的埠。有關更多詳細資訊,請參閱IANA 埠系統資料庫。