Mình đã dựng một hệ thống web gồm nhiều máy nằm sau nginx. nginx đóng vai trò như một reverse proxy.
Mọi thứ chạy tốt nhưng các ứng dụng web của mình bắt buộc phải audit được các thông số của các request: IP, session id ... tuy vậy hiện nay tất cả các IP mà ứng dụng web ghi nhận được là của nginx.
Các bro chỉ giáo cách config nào để các ứng dụng web (cài ở nhiều máy khác) vẫn ghi nhận được IP của các client với. Đây là vấn đề sống còn với dạng ứng dụng của bên mình. Các ứng dụng web chạy trên cả Centos, Windows 2003 nhé.
Thanks
[Question] Vấn đề về ghi nhận IP client thật sau khi sử dụng nginx
Theo tài liệu thì câu lệnh sau đã làm như mình mong muốn nhưng ko có tác dụng
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Mình đã đổi sang
proxy_set_header X-Forwarded-For $remote_addr;
cũng ko có tác dụng
[Question] Vấn đề về ghi nhận IP client thật sau khi sử dụng nginx
Vấn đề nắm bắt thông tin IP nằm ở web service đứng sau nginx sao lại config nginx hả bạn?
Nếu dùng Apache bạn có thể dùng mod rpaf mà bạn somenuchi đã gửi ở trên.
Một đoạn config liên quan trên server mình:
RPAFenable On
# Enable reverse proxy add forward
RPAFproxy_ips 127.0.0.1 <ip_server>
# which ips are forwarding requests to us
RPAFsethostname On
# let rpaf update vhost settings
# allows to have the same hostnames as in the "real"
# configuration for the forwarding Apache
RPAFheader X-Real-IP
# Allows you to change which header mod_rpaf looks
# for when trying to find the ip the that is forwarding
# our requests
[Question] Vấn đề về ghi nhận IP client thật sau khi sử dụng nginx
À, bọn mình đang Context.Request.UserHostAddress trong .Net.
Giờ muốn lấy IP thật thì phải lấy từ Cookies nhỉ.
Thanks.
Cho mình hỏi chút: Có ứng dụng nào có chức năng như 1 router nhưng có thể phân tích Header của HTTP để định tuyến ko?