使用 nginx,您可以允许和拒绝范围和 ips ( https://www.nginx.com/resources/admin-guide/restricting-access/ )。使用realip模块,可以将它使用的ip改成cloudflare后的真实IP。( http://nginx.org/en/docs/http/ngx_http_realip_module.html )
现在事情是这样的,我想将任何不是 Cloudflare 或 localhost 的 ip 列入黑名单。事实证明这相当困难,我尝试在设置 real_ip 模块设置之前将其放置,并且没有雪茄。
这可能吗?如果用户没有通过 cloudflare,这似乎是一个缺陷,它允许对某个虚拟主机进行更多的滥用。
有 $realip_remote_addr 变量,但我一生都无法找到一种方法来允许/拒绝使用它而不是正常的 $remote_addr。
编辑:我注意到防火墙可以帮助实现这一点。不幸的是,我真的只需要几个虚拟主机。