Nginx 擋掉某個 IP 或 網段

Nginx 想要擋掉某個 IP,作法如下:(下述為 Debian / Ubuntu Linux 的路徑)

  1. vim /etc/nginx/sites-enabled/blockips.conf # 輸入下述即可
    deny 123.123.123.123;
  2. sudo /etc/init.d/nginx restart
  • 註1:這是 Global 都全部擋掉此 IP,想要分別於 VirtualHost 擋的話,再自行寫進去裡面即可
  • 註2:blockips.conf 這個檔名可以隨便取

blockips.conf 裡面,若要擋掉 subnet,可見下述:

  • deny 123.123.123.0/24;

只允許某個IP 或 網段:

  • allow 1.2.3.4/24;
  • deny all;

更多範例可參考下述:(取自:Module ngx_http_access_module)

location / {
   deny  192.168.1.1;
   allow 192.168.1.0/24;
   allow 10.1.1.0/16;
   allow 2001:0db8::/32;
   deny  all;
}