例如,我在公网上搭了一个网站,只允许来自特定IP地址如1.1.1.0/24和局域网的访问,其他IP则拒绝。
对来自中国电信的IP,返回电信的反诈中心界面;联通和移动同理。
非国内的IP,则返回CF的反炸界面。(图片仅为示例)
那么我该如何设置Nginx?因为这些运营商都拥有不止一个ASN,可以批量导入规则吗?
另外,CF免费版不允许设置拒绝来自某个国家的请求规则,那我是不是也只能在Nginx的设置里实现效果?(例如,禁止来自朝鲜IP的访问,只能手动在Nginx里ban掉175.45.176.0/22吗?)
首先第一个问题你可以参考 nginx cross isp module这个模块,可以根据ISP地址分发至不同的地址。
第二个问题,可以参考nginx的 ngx_http_access_module 模块进行自定义。
@Just纱世里 #2 用个vscode也行啊别少个括号啥的找半天
你需要的是这个模块
https://github.com/leev/ngx_http_geoip2_module
然后导入 maxmind 或者 dbip 的 mmdb 按照不同 ASN 来判断然后返回不同内容
@openaddr #1
好的我去看看,不知道小白一般该怎么上手?我现在改配置文件都是直接拿记事本改,太硬核了。
虽然说确实不能太应该依赖图形界面,但是小白不都是这样慢慢熟练的。
第一个,你可以用dns分流解析实现
第二个通过nginx的防火墙可以实现
也可以通过cf实现
用cf简单一点