查看 nginx 的访问日志,不停的有国外的 ip 大带宽服务器访问访问,怎么给他禁止了
GEOIP
不要局限 nginx 啊 iptables 等都可以
deny 国外 ip;
就是你们两个把我这个只有黑名单不走代理的给拒之门外了?
至少提示下当前地区不允许访问吧……
有个思路,可以有个脚本异步分析 nginx 日志,有国外 ip 就放到 redis 中,然后 nginx+lua 从 redis 获取 ip,如果已经被封掉了 直接 deny 即可
locale != zh_CN
$http_accept_language
换个思路。域名解析分地域。国外直接解析 127.0.0.1 是不是就稳了。
推荐 8 搂的方法,DNS 智能解析,将国外解析到 127.0.0.1
什么意思???感觉你这种方法最简单
有案例吗?┭┮﹏┭┮
去搜索下关键字。一般云服务商都有提供。免费版可能没有。但是一般买个最低级的就有这么个功能
这个恐怕得自己开发
不过看楼上好像给出了更简单的方案,如果你的域名支持根据国家来解析,直接把国外全部解析到 127 是个不错的办法
好的,明白(o´ω`o)ノ
嗯,楼上几位说的在理,不过 dns 这种东西毕竟是表层,本地设置一下就绕过去了,如果攻击者真心想打恐怕没什么用
其他的不太清楚,阿里云免费 dns 也支持国外解析的,国外分解析功能国内应该大部分都有
如果还不行再尝试服务器端设置呗?
Cloudflare 的 Worker 支持屏蔽地区
ns1.com 的免费 DNS 支持地区解析
好的,谢谢了。我都搞不明白了,老是大量国外的 ip 和国内一些奇怪 ip 扫我,互联网真的是太大了
公网日常被扫,以前 ADSL 的时候自己控制的路由器拨号,有天跑里面日志一看一周扫了几百个请求。因为没有设置内网映射和 DMZ,所以全被路由拦掉了。
现在应该不需要了吧??
CGNAT 么…… 那确实是不需要了……
是的
cdn 或者 geoip 库