Nginx 封鎖 IP

Nginx 如何封鎖惡意 IP

網站常常會被惡意 IP 訪問,這是很平常的事情,但有的訪問的 IP 太暴力了,加重伺服器的負載;有的刻意的想侵入網站,造成網站的損失。

前幾天一個朋友網站,被入侵掛入廣告連結,雖然已經清除了這些廣告碼及腳本文件,但是這些惡意的 IP 還是一直來做怪,避免網站再一次受災,利用 Nginx 的 deny 配置,把這些惡意的 IP 都封鎖掉。

Nginx 的 ngx_http_access_module 模組可以封鎖配置内的 IP 或 IP 段:

封鎖文件範例:

配置禁用 IP 或 IP 段的方法:

首先要建一個要封鎖的 IP 配置文件,文件名稱 blockips.conf (在文件中輸入要封鎖的 IP),然後用 WinSCP 上傳到 /etc/nginx/common 資料夾內。

或用 vim 編輯器加入要封鎖的 IP,如下:

然後編輯 /etc/nginx/sites-available/example.com

在 server 段加入下面的配置:

檢查配置有無錯誤:

重啟 Nginx

如果是安裝 Webinoly 系統,方法更簡單:

建一個要封鎖的 IP 配置文件,文件名稱為 blockips-nginx.conf (在文件中輸入要封鎖的 IP),然後利用 SFTP 方式,上傳到你的域名根目錄下。

重啟 Nginx 就可以了。

因為不是用伺服器的防火牆來阻擋,這些惡意 IP 還是可以瀏覽你的網站,只是會變成 403。

在檢查 log 文件時,這些被封鎖的 IP 所查看網站的任何頁面,都會變成 403。

Featured Photo by Joao Marcelo Marques on Unsplash

WordPress Theme Editor

YUNGKE 沒有厲害的技術,只會小站小弄一番,對大系統架構暫無信仰,咖啡的癮君子,簡約的工作者,將事情變的簡單,將簡單的事情做好。

Leave a reply:

Your email address will not be published.

Site Footer