浏览量:110次
使用nginx -V 查看一下nginx 参数中有没有--with-http_realip_module
[root@aliyuncnyunwei]#nginx-Vnginxversion:nginx/1.10.1builtbygcc4.4.720120313(RedHat4.4.7-17)(GCC)builtwithOpenSSL1.0.2h3May2016TLSSNIsupportenabledconfigurearguments:--prefix=XXXXXX--with-http_realip_moduleXXXXXX默认是不安装该模块的,所以如果检测出来没有这个模块就需要重新编译了,重新编译也非常方便,即使是线上不能停机当然也可以编译,平滑升级即可。
进入nginx源码安装包目录下configure的参数就和原来保持一样,只是增加一个--with-http_realip_module例如:--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_realip_modulemake&&makeinstall至于平滑升级,可直接执行killall-sUSR2nginx接下来是编辑对应的配置文件设置
location中加入以下信息:set_real_ip_from222.222.222.222;#这里是需要填写具体的CDN服务器IP地址real_ip_headerX-Forwarded-For;real_ip_recursiveon;写一个测试页面来检测读取的访问IP地址是否已经获取到了用户IP地址 vim ip.php
下面即可直接访问测试,remote_addr 是否为你当前的公网IP地址,然后修改本地电脑hosts 重定向到CDN服务器再测试验证IP地址是否正确读取,如果正确的情况访问日志中也会正确显示对应的来访IP地址而不是CDN服务器的地址。
[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。