Nginx負載均衡後Resin4獲取真實IP地址
阿新 • • 發佈:2019-02-06
Resin在加了Nginx負載均衡後Resin訪問日誌中得到的ip為Nginx的ip,不是客戶端的真實ip,需要修改resin的配置檔案cluster-default.xml(resin 4):
1. 修改配置Nginx
在Nginx配置新增一個新的Header,用來儲存$remote_add,然後再Resin獲取記錄這個值。
Nginx:
server {
listen 80;
server_name www.xxxxx.com;
location / {
proxy_pass http://IP:81/;
proxy_set_header X-Real-IP $remote_addr;
}
}
新增一個為X-Real-IP值為真實IP的header 資訊。
2. Resin配置
Resin配置檔案cluster-default.xml中找到 <access-log> , 替換為如下資訊:
<access-log path="log/access.log"
format='"%{X-Real-IP}i" %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
rollover-period="1W"/>
3. 重啟nginx和Resin服務,access.log 日誌中,就可以看到真實的客戶端IP了。
這裡面參考了,官方文件 http://www.caucho.com/resin-4.0/admin/logging.xtp 裡面的 format patterns 設定。