Tip: cản lọc IP nước ngoài truy cập vào server bạn trên nginx

Nếu bạn cảm thấy không an toàn với spam bot diễn đàn của bạn tới từ nước ngoài. Bạn có thể GTFO chúng từ tầng firewall nhưng mình cản ở tầng application để tiện việc theo dõi và không muốn chặn tất.
Cụ thể mình config trên nginx:
Đầu tiên ta lấy cái list IP của Việt Nam đã: Vào ip2location họ cung cấp free sẵn cái này
http://www.ip2location.com/blockvisitorsbycountry.aspx

Ở nginx tạo 1 file /etc/nginx/negative_vietnamese_ip
geo $block {
    default 1;
    1.52.0.0/14 0;
    5.189.202.128/25 0;
    14.0.16.0/20 0;
    ...
}

Sau đó cấu hình vhost của bạn:

include /etc/nginx/negative_vietnamese_ip;
server {
    server_name your_hostname;
    if ($block) {
      rewrite ^ http://another.site.com;
      # hoặc bạn có thể sử dụng 'return 403' nếu muốn trả về error_page 403
    }
}

p1