Nginx

做了一些愚蠢的事情,中斷“某些埠”的乙太網訪問

  • February 6, 2022

我剛剛在我的伺服器上安裝了 Ubuntu Server 20.04,但是我在沒有仔細觀察的情況下執行了一個自動化腳本,這導致了一個非常奇怪的場景。

我還在該伺服器上啟用了多個網路伺服器,但在備用埠上。在我執行它之前,我可以通過輸入伺服器的乙太網地址和它的埠來輕鬆訪問它們。但是在它之後,我只是不知道為什麼它不起作用。以下是我可以提供的一些資訊:

  1. 22(SSHD)、25(Postfix)、80 和 443(Apache) 等埠都執行良好。我的 Nginx 伺服器監聽所有其他埠,例如,如果我讓它監聽埠 30000,我將能夠通過以下方式查看 Nginx 佔用的埠:

lsof -i:40000

但是由於某種原因,在無法訪問所有其他埠的同時,如果我停止 apache 並讓 nginx 在 80 和 443 上進行監聽,它會起作用。不過,如果我讓 Nginx 在 81 和 444 上收聽,那就不走運了。

  1. 這不是路由器問題。雖然,telnet Nginx address:port 沒有響應。
  2. 從乙太網訪問不起作用,但如果我在 localhost 上這樣做,比如我通過 ssh 和“telnet localhost 40000”登錄到我的伺服器,我可以獲得 Nginx 的響應。
  3. 所有的問題都可能是由於 iRedmail 安裝不小心造成的。我仍在探勘它的安裝腳本。

如果您有任何想法,請告訴我,真的不想為此重新安裝整個伺服器…提前致謝!

此問題是由 iRedmail 安裝腳本中提供的 nftable 規則引起的。在安裝結束時,腳本會詢問您是否要應用 iRedmail 提供的規則。如果您接受,原始的 nftables.conf 將被備份和替換。備份文件位於 /etc/nftables.conf-

$$ date $$. 刪除 iRedmail 提供的 nftables,並恢復備份。它將再次起作用。

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