nginx-启用了ngx_http_realip_module的白名单cloudflare Ips
发布时间:2020-12-13 20:54:01 所属栏目:Nginx 来源:网络整理
导读:我在nginx上有一个运行cloudflare的网站,并希望阻止所有未通过cloudflare的请求. 通常,我会将nginx配置中的nginx IP列入白名单,并拒绝其他所有IP. 但是我正在运行ngx_http_realip_module,它将X-Forward-For地址(这是来自Visitor的实际Ip)设置为request-IP,因
我在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时,该块保留了原始客户端地址. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |