作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 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 或本地主机的 IP 列入黑名单。这被证明是相当困难的,我试过在设置 real_ip 模块设置之前放置它,但没有雪茄。
这可能吗?如果用户不通过 cloudflare,这似乎是一个缺陷,它允许对某个 vhost 进行更多滥用。
有 $realip_remote_addr 变量,但我一辈子都找不到一种方法来允许/拒绝使用它来代替普通的 $remote_addr。
编辑:我注意到防火墙可以帮助解决这个问题。不幸的是,我真的只需要几个虚拟主机。
最佳答案
您可以使用地理 block 轻松地做到这一点
geo $realip_remote_addr $giveaccess {
default 0;
IPBLOCK1 1;
IPBLOCK2 1;
…
}
server {
…
location / {
if ($giveaccess = 0){
return 403 "$realip_remote_addr";
#use it for debug
}
}
关于nginx 允许|拒绝 $realip_remote_addr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176931/
使用 nginx,您可以允许和拒绝范围和 ips (https://www.nginx.com/resources/admin-guide/restricting-access/)。使用realip模
我是一名优秀的程序员,十分优秀!