| 20.100.172.153 - - [06/Aug/2026:22:13:29 +0800] "GET [//av.php](https://av.php/) HTTP/1.1" 404 153 "-" "-" "-"

這行日誌同樣是非常典型的漏洞惡意掃描(駭客企圖尋找網站上可能存在的 av.php 後門檔案)。既然您的網站沒有這個檔案,Nginx 便回傳了 404,完全有被您剛剛設定的 nginx-4xx 規則精準捕捉到。

不過,這行日誌暴露了一個更重要且必須立刻檢查的資安隱患。

🚨 隱患分析:您的 Docker 架構是否正在「防禦失效」?

請注意日誌開頭的攻擊者 IP:20.100.172.153。

⚠️ 封鎖前的致命檢查(非常重要)

如果 20.100.172.153 是您的內部網關,而 Fail2ban 判定它攻擊並透過 iptables 把它封鎖,將會導致整個網站直接斷線(所有人包含您自己都連不進來)!

請立刻用您的手機或家裡的其他網路連上您的網站,然後到宿主機執行:

tail -n20 /home/rich/pure-php-app/nginx/logs/access.log

請觀察您剛才用手機連線時產生的日誌:

  1. 情況 A:日誌開頭顯示的是您的手機 4G/5G 真實外部 IP ➔ 安全,您可以放心讓 Fail2ban 開始封鎖。
  2. 情況 B:日誌開頭顯示的依然是 20.100.172.153 或 172.x.x.x ➔ 危險,這代表 Nginx 目前抓不到真實 IP,必須先去修改 Nginx 設定檔,啟用 real_ip 模組來解開真實 IP,否則絕不能啟動 Fail2ban。

請問您剛剛用手機連線測試時,日誌開頭顯示的是 您的真實外部 IP 還是 內部網關 IP 呢?