问题
我正在对我的 Web 服务器使用 Elastic Load Balancing,我可以在访问日志中看到我的负载均衡器的 IP 地址。如何改为捕获客户端 IP 地址?,我的环境是nginx
具有 HTTP/HTTPS 侦听器的 Application Load Balancers 和 Classic Load Balancer (NGINX)
- 在首选文本编辑器中打开 NGINX 配置文件。典型位置是
/etc/nginx/nginx.conf
。 在 LogFormat 部分中,添加 $http_x_forwarded_for,如下所示:
http { ... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; ... }
- 保存所做更改。
- 如下所示重新加载 NGINX 配置文件。请务必使用适当的配置文件路径。
nginx -s reload
- 打开 NGINX 访问日志。位置因配置而异。
- 验证客户端 IP 地址现在是否记录在 X-Forwarded-For 标头下。
参考https://aws.amazon.com/cn/premiumsupport/knowledge-center/elb-capture-client-ip-addresses/