本文概述
- 从AWS或Google Cloud LB获取访问者IP
- 从Cloud Flare获取客户端IP
我正在使用AWS应用程序负载平衡器和Nginx作为Web服务器。启用后, 我去看了access.log, 发现所有请求都被标记为来自内部(负载均衡器)IP。
如果你要分析Web服务器日志中的访问者位置, 则这不是一件好事。我意识到我丢失了或者需要做一些配置更改来还原客户端IP。
你和我一样吗?
好吧, 这是在Nginx访问日志中获取客户端IP的方法。
从AWS或Google Cloud LB获取访问者IP
- 登录到你的Nginx Web服务器
- 转到安装路径(默认位置/ etc / nginx)
- 备份nginx.conf文件
- 在http块下添加以下内容
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
- 重新启动Nginx, 你应该在access.log文件中看到访问者的IP
从Cloud Flare获取客户端IPCloud Flare是出色的CDN和安全性提供商, 我绝对喜欢它。如果你像我一样使用Cloud Flare, 并且想在Web服务器日志中还原访问者IP, 则可以按照以下方法进行操作。
假设你已登录Nginx服务器
备份你的站点配置文件(通常在这里– / etc / nginx / sites-available / yourdomain)
在文件开头添加以下内容
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 199.27.128.0/21;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;
【如何在Nginx中从AWS,Google Cloud LB和Cloud Flare获取客户端IP()】重新启动Nginx, 你现在应该看到客户端IP。这对我有所帮助, 也希望你也对我有帮助。让我知道事情的后续。
推荐阅读
- 如何配置Nginx为Node.js服务静态文件
- 如何在Nginx和Apache中启用IPv6()
- 如何在Apache和Nginx中启用HTTP/2()
- 探索(Nginx Plus的外观如何())
- 如何使用Let’s Encrypt的加密证书设置Nginx()
- 如何在iOS上构建无限Runner(Cocos2D,自动化等)
- 如何使用Amplify监视Nginx和PHP应用程序()
- 安卓开发学习——图像处理
- uniapp 小程序首次进入弹出位置授权