zoukankan      html  css  js  c++  java
  • Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)

    这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下
     

    国内因为备案的原因,所有服务器都要禁止使用IP访问网站。否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了。这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下。

    如下的配置项,可以设置允许使用IP访问网站。

    server {
        listen       80;
        server_name  "";
    }
    这里相当于是绑定了一个空的主机头,于是任意主机头,只要是指向这个IP的都可以打开网站了。

    也可以把这些流量收集起来,导进到本人的网站,只需做以下跳转设置就可以: 

    server { 
    
    listen 80 default; 
    rewrite ^(.*) http://www.abc.com; 
    } 

    如果需要Nginx禁止使用IP访问网站,可以定义如下主机,丢弃这些请求:

    server {
        listen 80default;
        server_name "";
        return  444;
    }

     或者

    server {
    listen 80 default;
    server_name _;
    return 500;
    }
    在这里,我们设置主机名为空字符串以匹配未定义“Host”头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接。

    从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略server_name "",即如下的配置即可:

    server {
        listen   80;
        return   444;
    }

    限制某IP登陆网站
    allow all;

    deny all;

    其中网段的写法是这样的:192.168.1.0/24这样的形式。

    deny 192.168.1.11;
    deny 192.168.1.123;
    deny 10.0.1.0/24;

    如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
    那需要你在ip.balcklist中这样写
    然后在在nginx的配置文件nginx.conf中加入:include blocksip.conf; 或者直接在相应虚拟主机server{中填写}
    allow 1.1.1.1; 
    allow 1.1.1.2;
    allow 192.168.1.0/24;
    deny all; 
     
    如果你想实现这样的应用,禁止几个IP,其他通过,
    deny 1.1.1.1;
    deny 192.168.1.0/24;
    allow all;

    单独网站屏闭IP的方法:

    在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;

    #屏蔽单个IP的命令是
    deny 123.45.6.7
    #封整个段即从123.0.0.1到123.255.255.254的命令
    deny 123.0.0.0/8
    #封IP段即从123.45.0.1到123.45.255.254的命令
    deny 124.45.0.0/16
    #封IP段即从123.45.6.1到123.45.6.254的命令是
    deny 123.45.6.0/24

  • 相关阅读:
    Java.io.outputstream.PrintStream:打印流
    Codeforces 732F. Tourist Reform (Tarjan缩点)
    退役了
    POJ 3281 Dining (最大流)
    Light oj 1233
    Light oj 1125
    HDU 5521 Meeting (最短路)
    Light oj 1095
    Light oj 1044
    HDU 3549 Flow Problem (dinic模版 && isap模版)
  • 原文地址:https://www.cnblogs.com/irisrain/p/4333863.html
Copyright © 2011-2022 走看看