MyKinsta 和 Nginx 如何封鎖 IP

MyKinsta 是 Kinsta 主機的後端控制台,簡單好用,裡面有一個封鎖 IP 的好用功能 IP deny,可以處理不斷訪問你網站的機器人、垃圾郵件發送者或不友善的 IP 來源。

MyKinsta 的 IP deny 阻止 IP 地址

MyKinsta 的 IP deny 工具支援 3 種方式來封鎖 IP:

  • IPV4 地址 – 103.5.140.141
  • IPV6 地址 – 2001:0db8:0a0b:12f0:0000:0000:0000:0001
  • CIDR 範圍 – 128.0.0.1/32

CIDR 可用於阻止 IP 地址的區段範圍,例如:127.0.0.1 到 127.0.0.255。

為了產生有效的 CIDR 範圍,建議使用 CIDR to IPv4 Conversion 線上工具來查詢。

CIDR to IPv4 Conversion

CIDR to IPv4 Conversion

識別有問題的 IP 地址

因為 WordPress 是一個動態 CMS,未快取的頁面是由 PHP Workers 生成的,由於未快取的請求需要更多的 CPU 和 RAM 資源來提供服務,因此,惡意行為的 IP 會通過發送大量請求來消耗伺服器的資源。

我們利用 MyKinsta 的 analytics dashboard 查看訪問網站的 IP 地址列表。

如果看到一個 IP 地址發出的請求比其他 IP 多很多 (例如:5 – 10 倍),就可能需要進一步查看該 IP 是機器人還是垃圾郵件發送者。

檢查 IP 是否惡意的最簡單方法是利用線上工具來查看,例如:CleanTalk 或 Spamhaus。

Nginx 中阻止 IP 地址

如果你是自架 VPS Nginx 伺服器管理自己的網站,可以直接在 nginx.conf 配置文件中阻止 IP 地址。

要阻止 Nginx 中的 IP 地址,Nginx 配置文件,如下所示。

Nginx 阻止單個 IP 地址:

deny 190.60.78.31; deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;
Code language: CSS (css)

Nginx 阻止 CIDR IP 範圍:

deny 192.168.0.0/24;

Nginx 阻止訪問特定目錄:

location /secret-directory/ { deny 192.168.0.0/24; }

阻止其他所有內容的同時允許特定的 IP 地址:

location /secret-directory/ { allow 192.168.0.0/16; deny all; }

最後別忘了重新加載 Nginx 配置,讓配置生效:

sudo systemctl reload nginx
Latest posts by yungkeli (see all)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *