1. Cách Allow và Deny người dùng.
Trong Nginx, bạn có thể cấu hình để cho phép hoặc từ chối truy cập từ các địa chỉ IP cụ thể bằng cách sử dụng cấu hình “allow” và “deny”. Dưới đây là các bước cơ bản để cấu hình các allow và deny IP truy cập bằng Nginx:
- Mở file cấu hình cho trang web của bạn. Tệp cấu hình thường có đường dẫn “/etc/nginx/sites-available/<tên trang web>”.
- Để từ chối truy cập từ một địa chỉ IP cụ thể, bạn có thể thêm cấu hình “deny” trong khối “location” của file cấu hình. Ví dụ, để từ chối truy cập từ địa chỉ IP 192.168.1.100, bạn có thể thêm cấu hình như sau:
location / {
deny 192.168.1.100;
# other configurations
}
Để cho phép truy cập từ các địa chỉ IP cụ thể, bạn có thể sử dụng cấu hình “allow” trong khối “location”. Ví dụ, để cho phép truy cập từ địa chỉ IP 192.168.1.100 và 192.168.1.101, bạn có thể thêm cấu hình như sau:
location / {
allow 192.168.1.100;
allow 192.168.1.101;
deny all;
# other configurations
}
Lưu ý rằng các cấu hình “allow” và “deny” được xử lý theo thứ tự từ trên xuống dưới trong khối “location”. Vì vậy, trong ví dụ trên, Nginx sẽ cho phép truy cập từ địa chỉ IP 192.168.1.100 và 192.168.1.101, nhưng từ chối truy cập từ các địa chỉ IP khác.
2. Chuyển hướng người dùng bị deny.
Để chuyển hướng người dùng đến trang khác nếu địa chỉ IP của họ bị từ chối truy cập bởi cấu hình “deny” trong Nginx, bạn có thể thực hiện theo các bước sau:
- Tạo một trang web mới mà bạn muốn người dùng được chuyển hướng đến nếu IP của họ bị từ chối truy cập.
- Mở file cấu hình Nginx cho trang web của bạn. Tệp cấu hình thường có đường dẫn “/etc/nginx/sites-available/<tên trang web>”.
- Tìm đoạn mã “server” chứa cấu hình “deny”. Cấu hình “deny” được đặt trong một khối “location” như sau:
location / {
deny <địa chỉ IP>;
}
Sửa đoạn mã này để chuyển hướng người dùng đến trang web mới mà bạn đã tạo. Bạn có thể sử dụng chỉ thị “return” của Nginx để chuyển hướng người dùng đến URL của trang web mới như sau:
location / {
if ($remote_addr = <địa chỉ IP>) {
return 302 <URL của trang web mới>;
}
deny all;
}
Lưu và đóng file cấu hình, sau đó khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
sudo service nginx restart
Lúc này, khi một người dùng truy cập vào trang web của bạn với địa chỉ IP bị từ chối, họ sẽ được chuyển hướng đến trang web mới mà bạn đã tạo.