Cấu hình giới hạn truy xuất xmlrpc.php trên Nginx

Trong các bài viết trước chúng ta đã thảo luận về Tôi có nên tắt XML-RPC của WordPress? và Hướng dẫn tắt XML-RPC khi không cần sử dụng. Hôm nay, chúng ta sẽ nói về cấu hình giới hạn truy xuất xmlrpc.php trên Nginx

Bước 1:

Thực hiện vào file config của nginx thêm vào dòng
1
limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/m;
Cấu hình này tương ứng: Giới hạn tối đa 10 truy xuất từ 1 IP cố định kết nối đến máy chủ trong thời gian 1 phút

Bước 2:

Thực hiện chèn vào hệ thống vhosts của nginx với cú pháp bên dưới
1
2
3
4
5
location ~ /xmlrpc.php$ {
       try_files      $uri @fallback;
       limit_req zone=perip burst=15 nodelay;
       limit_req_status 429;
   }
Thiết lập này có nghĩa: Hệ thống sẽ giới hạn truy cập đến file xmlrpc.php với thời gian và lượt truy xuất được giới hạn trước đó (bước 1)
Nếu truy cập vượt quá giới hạn đã thiết lập hệ thống sẽ trả về lỗi: 429

Bước 3:

Sau khi thực hiện bước 2 hoàn tất chúng ta thao tác restart nginx để cập nhật lại cấu hình.
Cách kiểm tra lại:
1
/etc/init.d/nginx restart
Bạn có thể kiểm tra nginx config bằng lệnh:
1
nginx –t
Nếu trả về OK là tùy chỉnh trên đã chính xác.

Bước 4:

Chúng ta sẽ dễ dàng kiểm tra lại bằng cách:
Truy cập 1 Wesbite WordPress bất kỳ trên hệ thống và truy xuất đến đường dẫn http://domaincuaban.com/xmlrpc.php việc kế tiếp là bạn hãy F5 nhiều lần (trên 10 lần/1 phút) nếu thấy xuất hiện lỗi: 429 thì việc cấu hình giới hạn truy xuất đến file xmlrpc.php trên WordPress đã thành công.

Chúc bạn thành công