GCP CLB:如何在 Nginx.conf 中获取 X-Forwarded-For IP?

Posted

技术标签:

【中文标题】GCP CLB:如何在 Nginx.conf 中获取 X-Forwarded-For IP?【英文标题】:GCP CLB: how to get X-Forwarded-For IP in Nginx.conf? 【发布时间】:2020-06-18 22:58:32 【问题描述】:

根据 GCP 文档,https://cloud.google.com/load-balancing/docs/https#target-proxies、X-Forwarded-For 包含多个 IP,例如1.2.3.4, 5.6.7.8,其中1.2.3.4 是真实客户端IP,5.6.7.8 是CLB IP。

如何在nginx.conf 中获得1.2.3.4?我想将它与 geoip 一起使用。

【问题讨论】:

您可以使用real IP module 分解X-Forwarded-For 并将$remote_addr 变量设置为适当的值。 【参考方案1】:

您可以使用real IP module 分解X-Forwarded-For 并将$remote_addr 变量设置为适当的值。

例如:

set_real_ip_from  5.6.7.8;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

$remote_addr 的值从5.6.7.8 更改为1.2.3.4

在 Nginx 的许多发行版中,这个模块已经存在。使用nginx -V 确认存在哪些模块。

【讨论】:

以上是关于GCP CLB:如何在 Nginx.conf 中获取 X-Forwarded-For IP?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用适用于 Python 的 AWS CDK 通过 ARN 查找现有的经典负载均衡器 (CLB)?

nginx如何做反向代理服务器?

nginx:如何划分 /etc/nginx/conf.d/default.conf ?

如何编辑 nginx.conf 以增加文件大小上传

如何通过 nginx.conf 文件在 Nginx 中将 Secure 属性设置为 Set-cookie

使用ELK分析腾讯云CLB日志