nginx默認配置文件里面是沒有進行日志轉發配置的,這個需要我們自己手動來操作了,當然后端的real server不同時操作方法是不一樣的,這里我們分別例舉幾種情況來說明一下。
nginx做前端,轉發日志到后端nginx服務器:
因為架構的需要采用多級 Nginx 反向代理,但是后端的程序獲取到的客戶端 IP 都是前端 Nginx 的 IP,問題的根源在于后端的 Nginx 在 HTTP Header 中取客戶端 IP 時沒有取對正確的值。
同樣適用于前端是 Squid 或者其他反向代理的情況。
首先前端的 Nginx 要做轉發客戶端 IP 的配置:
location / {proxy_pass http://localhost:8000; # Forward the user's IP address to Railsproxy_set_header X-Real-IP $remote_addr;# needed for HTTPS# proxy_set_header X_FORWARDED_PROTO https;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;proxy_redirect off;}
后端的 Nginx 需要安裝一個 Module: NginxHttpRealIpModule,編譯的時候默認不包含此 Module,需要重新編譯安裝 Nginx,configure 的時候加上 主站蜘蛛池模板: 晋江市| 天等县| 安阳市| 山丹县| 江永县| 贵州省| 永靖县| 兴安县| 枞阳县| 绥中县| 壤塘县| 沙河市| 镶黄旗| 濉溪县| 电白县| 天等县| 南丰县| 泰来县| 东乌珠穆沁旗| 屏山县| 大冶市| 锡林浩特市| 额济纳旗| 天祝| 塔河县| 绿春县| 贡山| 富裕县| 青冈县| 岢岚县| 呼玛县| 遵化市| 和顺县| 建宁县| 合肥市| 新疆| 彭泽县| 丰镇市| 阜城县| 揭西县| 辽源市|