Apache-2.4

Apache 的自定義偵聽埠不起作用

  • April 14, 2021

我希望 Apache (v2.4.41) 在我的 Ubuntu (v20.04) 伺服器上偵聽埠 802 和 44302 而不是 80 和 443,所以我執行了以下操作:

  • 中編輯了埠號/etc/apache2/ports.conf。現在該文件只有兩行,如下所示:
Listen 802
Listen 44302
  • 像這樣編輯埠號/etc/apache2/sites-available/000-default.conf
<VirtualHost *:802>
 ....
</VirtualHost>
  • 像這樣編輯埠號/etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
 <VirtualHost *:44302>
   ....
 </VirtualHost>
</IfModule>
  • 也編輯了裡面其他虛擬主機的埠號/etc/apache2/sites-available
  • 重啟阿帕奇
  • 確認 apache 正在使用netstatas監聽新埠,lsof並得到以下資訊:

網路統計:

tcp6       0      0 :::44302         :::*            LISTEN      113959/apache2
tcp6       0      0 :::802           :::*            LISTEN      113959/apache2

lsof -i:802

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 113959     root    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113960 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113961 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)

lsof -i:44302

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 117939     root    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117940 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117941 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
  • 通過使用netstat和確認沒有其他內容正在​​監聽埠 80 和 443 lsof

現在,當我嘗試訪問任何網站,甚至是埠 802 上的伺服器 IP 地址時,都會出現This site can’t be reached錯誤。但是,可以在埠 44302 上正常訪問站點/伺服器 ip。

  • http://ipaddress:802http://example.com:802—- 不工作
  • https://ipaddress:44302https://example.com:44302—- 工作正常

我做錯了什麼,我該如何解決?

埠 44302 工作但埠 802 沒有的原因是因為埠 44302 在防火牆中打開的埠範圍內,而 802 不在。

埠 0 - 1023 被視為特權埠,與其他埠不同,僅限於 root 使用者。

將埠從 802 切換到通用埠 80 替代方案(如 8080)解決了該問題。

引用自:https://serverfault.com/questions/1060116