限制IP登陆某目录(关闭默认站点或空主机头)

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

server {
    listen80;
    listen[::]:80;
    server_name "";
}

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

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

server { 
    listen 80 default;  
    listen [::]:80 default;
    return 301 https://$server_name:443$request_uri;
}

如果需要Nginx禁止使用IP或未经授权的域名访问网站,可以定义如下主机,丢弃这些请求:

server {
    listen 80 default;
    listen [::]:80 default;
    server_name "";
    return 444;
}
server {
    listen 443 ssl http2 default;
    listen [::]:443 ssl http2 default;
    server_name "";
    return 444;
    ssl_certificate /your path/hicairo.com.pem;
    ssl_certificate_key /your path/hicairo.com.key;
}

或者

server {
    listen 80 default;
    listen [::]:80 default;
    server_name _;
    return 500;
}
server {
    listen 443 ssl http2 default;
    listen [::]:443 ssl http2 default;
    server_name _;
    return 500;
    ssl_certificate /your path/hicairo.com.pem;
    ssl_certificate_key /your path/hicairo.com.key;
}

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

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

server {
    listen 80;
    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

最后修改日期: 2023年8月19日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。