nginx-启用了ngx_http_realip_module的白名单cloudflare Ips
我在nginx上有一个运行cloudflare的网站,并希望阻止所有未通过cloudflare的请求. 通常,我会将nginx配置中的nginx IP列入白名单,并拒绝其他所有IP. 但是我正在运行ngx_http_realip_module,它将X-Forward-For地址(这是来自Visitor的实际Ip)设置为request-IP,因此请求被拒绝. 有没有一种方法可以使此白名单工作而无需停用ngx_http_realip_module?此外,此白名单应仅适用于对Nginx的请求,不适用于其他服务 提前致谢 最佳答案 我想出的唯一可以使用nginx完成的解决方案需要nginx 1.9.7或更高版本.您可以使用ngx_http_geo_module识别和阻止不是cloudflare ip的任何ip的响应. 使用此地理位置块.
然后,您可以将其添加到服务器块中.
对于所有不是来自$cloudflare_ip的连接,它将关闭连接. 之所以有效,是因为我在geo块中使用了$realip_remote_addr,当使用real_ip_header CF-Connecting-IP时,该块保留了原始客户端地址. (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Nginx#ngx_http_limit_req_module:超过费率后503返回多长时
- ruby-on-rails – 502 Bad Gateway/rails 4/nginx/passenge
- 获取视频文件的实际时间,以便使用nginx_mod_h264_streaming
- 使用nginx防止304未修改的请求
- php – 如何在虚拟主机上安全地拥有多对多用户
- logging – 抑制nginx访问被拒绝错误日志
- 如何在Amazon EC2 AMI实例上使用nginx一致地设置PHP-FPM 5.
- php-Nginx损坏了下载的文件
- python-在子目录nginx uwsgi上提供Flask应用
- 自动将docker容器附加到nginx负载均衡器的上游配置