NGINX屏蔽ip,https(443端口)有效,而http(80端口)无效

发布于 2022-09-06 21:09:27 字数 1491 浏览 19 评论 0

自己设置的ipblock.conf文件,deny了自己的手机ip
然后include ipblock.conf;到服务器的nginx.conf的http{}下面
效果:

  • 网站1是https协议,ip屏蔽成功
  • 网站2是http协议,ip屏蔽无效

然后将在http网站的conf文件里面添加了include ipblock.conf;依然无效
然后将deny ip;直接写到http协议网站的conf文件里面,还是无法屏蔽

请教各位上仙,这个怎么解决

相关配置:
文件夹/conf/下面
文件:ipblock.conf

deny ip;
…………

文件:nginx.conf

http
    {

        include       mime.types;
        default_type  application/octet-stream;
        include ipblock.conf;
        …………

文件夹/conf/vhost下面
网站1(https协议).conf

server
    {
        listen 80;
        #listen [::]:80;
        server_name www.name1.com name1.com *.name1.com;
        return 301 https://www.nam1e.com$request_uri;
    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name www.name1.com name1.com *.name1.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.name1.com;
        ssl on;
        …………

网站2(http协议).conf

server
    {
        listen 80;
        #listen [::]:80;
        server_name www.name2.com name2.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.name2.com;
        
        //这儿添加的include ipblock.conf;
        //或者直接写的deny ip;


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九命猫 2022-09-13 21:09:27

可能的原因:

  1. 你的手机流量被运营商做了缓存
  2. 你的手机的浏览器开启了类似的“省流量”的功能,比如Chrome和UC都有这种功能
  3. 运营商对于不同协议,走的出口不一样

简而言之,尽量不要用手机来做这种涉及到IP的测试,除非你确定中间经过什么


可以增加两项配置来做测试:

location = /ip {
    default_type text/plain;
    allow all;
    return 200 "$remote_addr, $realip_remote_addr, $http_x_real_ip";
}
location = /deny {
    deny all;
}
  1. 然后用手机访问 /ip,看下你服务器获取到的IP是多少;
  2. 用手机访问 /deny,看屏蔽是否有效。
我不吻晚风 2022-09-13 21:09:27

看起来配置没有问题。

若是在 ipblock.conf 文件中使用了静态 IP,例如

deny 1.2.3.4;
allow all;

那很可能是你的手机浏览器访问 http 时使用了某些加速服务,它透过第三方服务 IP 去访问你的网站。
但由于 https 是加密连接,无法加速,因此使用的是你的手机 IP。

你可以通过查询 nginx 访问日志,或在服务器抓包来确认。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文