Nginx如何限制IP访问只允许特定域名访问

来自:网络
时间:2023-01-06
阅读:
目录

为了我们的服务器安全,我们需要禁止直接使用 IP 访问我们的服务器,我们可以借助 Nginx 完成

1、找到 nginx 的配置文件

cd /usr/local/nginx/conf/

找到 nginx.conf 文件

Nginx如何限制IP访问只允许特定域名访问

编辑它

2、添加新的 server

# 禁止ip访问
server {
    listen 80 default_server;
    listen 443 ssl default_server;
    server_name _;
    return 403;
}

注意是在所有的 server 前面添加一个新的 server,如图所示

Nginx如何限制IP访问只允许特定域名访问

这里我们开启了 http 和 https 的监听,如果是直接使用 ip 访问的,我们将会返回 403 状态码给客户端

3、修改 server

nginx.conf 文件中默认配置信息为

server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

server_name 对应的是 localhost,这里我们需要更改成我们指定的域名,如:

server {
    listen       80;
    server_name  xxx.com;

    location / {
        root   html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

4、访问测试

重启 nginx

./nginx -s reload

浏览器输入 IP 地址,出现如下

Nginx如何限制IP访问只允许特定域名访问

说明我们的配置已经成功了

我们输入域名试试

Nginx如何限制IP访问只允许特定域名访问

输入域名能够正常访问,说明我们的配置生效,此时就限制了 IP 的访问,只允许特定域名访问了

总结

返回顶部
顶部