NỘI DUNG
Khi sử dụng Cloudflare để bảo vệ website, địa chỉ IP thực của người dùng sẽ bị ẩn đi và thay thế bằng IP của Cloudflare. Điều này có thể gây ra một số bất tiện, ví dụ như khi bạn cần ghi lại thông tin truy cập của người dùng hoặc thực hiện các hành động dựa trên vị trí địa lý của họ.
Bài viết này sẽ hướng dẫn bạn cách hiển thị IP thực của người dùng trên máy chủ OpenLiteSpeed sau Proxy Cloudflare. Phương pháp này sử dụng một header HTTP đặc biệt được Cloudflare cung cấp để truyền tải địa chỉ IP thực của người dùng.
Lợi ích:
- Ghi lại thông tin truy cập chính xác của người dùng.
- Thực hiện các hành động dựa trên vị trí địa lý của người dùng.
- Khắc phục sự cố liên quan đến địa chỉ IP.
Ví dụ như ảnh bên dưới. Khi tôi đọc access log của website thì các IP trên đều là IP của CloudFlare. Điều này sẽ gặp khó khăn trong việc kiểm tra các request xấu và xử lý.
Bây giờ hãy cùng tôi thực hiện các bước như sau để thiết lập lại cấu hình.
Bước 1: Sao lưu file cấu hình
Đầu tiên bạn hãy copy và chạy lệnh sau để sao lưu lại cấu hình gốc ban đầu.
cp /usr/local/lsws/conf/httpd_config.conf /usr/local/lsws/conf/httpd_config.conf.bak
Bước 2: Sửa file cấu hình httpd_config
Bây giờ bạn mở file httpd_config.conf
sau đó sửa các dòng sau.
vi /usr/local/lsws/conf/httpd_config.conf
Sau đó bạn thêm vào đoạn sau vào, đoạn này bạn thêm dưới dòng autoLoadHtaccess
như ảnh đính kèm.
useIpInProxyHeader 2
Tiếp theo bạn tìm dòng accessControl
và thêm vào đoạn này
allow ALL, 103.21.244.0/22T, 103.22.200.0/22T, 103.31.4.0/22T, 104.16.0.0/12T, 108.162.192.0/18T, 131.0.72.0/22T, 141.101.64.0/18T, 162.158.0.0/15T, 172.64.0.0/13T, 173.245.48.0/20T, 188.114.96.0/20T, 190.93.240.0/20T, 197.234.240.0/22T, 198.41.128.0/17T, 199.27.128.0/21T
Sau khi thêm xong thì sẽ giống như thông tin này.
accessControl {
allow ALL, 103.21.244.0/22T, 103.22.200.0/22T, 103.31.4.0/22T, 104.16.0.0/12T, 108.162.192.0/18T, 131.0.72.0/22T, 141.101.64.0/18T, 162.158.0.0/15T, 172.64.0.0/13T, 173.245.48.0/20T, 188.114.96.0/20T, 190.93.240.0/20T, 197.234.240.0/22T, 198.41.128.0/17T, 199.27.128.0/21T
}
Bước 3: Khởi động lại dịch vụ
Bây giờ bạn hãy khởi động lại dịch vụ để cấu hình mới được hoạt động.
systemctl restart lsws lshttpd
Giờ tôi sẽ đọc lại access log của domain và lấy 1 IP bất kỳ.
Và thực hiện kiểm tra thì IP đã hiển thị được của user mà không phải của CloudFlare trước đó. Như vậy là bạn đã thực hiện thành công.
Hiển thị IP thực của người dùng trên máy chủ OpenLiteSpeed sau Proxy Cloudflare có thể mang lại nhiều lợi ích, bao gồm ghi lại thông tin truy cập chính xác, thực hiện các hành động dựa trên vị trí địa lý và khắc phục sự cố liên quan đến địa chỉ IP. Bài viết này đã hướng dẫn bạn cách thực hiện việc này một cách đơn giản.
Nếu bạn gặp bất kỳ khó khăn nào trong quá trình thực hiện, vui lòng tham khảo phần Giải quyết sự cố hoặc để lại bình luận bên dưới bài viết.
Ngoài ra, bạn có thể tham khảo thêm các tài nguyên sau:
- https://openlitespeed.org/kb/show-real-visitor-ip-instead-of-cloudflare-ips/
- https://runcloud.io/docs/real-ip-openlitespeed-behind-cloudflare