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

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

1、找到 nginx 的配置文件

cd /usr/local/nginx/conf/

找到 nginx.conf 文件

Nginx如何限制IP访问只允许特定域名访问_第1张图片

编辑它

2、添加新的 server

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

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

Nginx如何限制IP访问只允许特定域名访问_第2张图片

这里我们开启了 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访问只允许特定域名访问_第3张图片

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

我们输入域名试试

Nginx如何限制IP访问只允许特定域名访问_第4张图片

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

总结

到此这篇关于Nginx如何限制IP访问只允许特定域名访问的文章就介绍到这了,更多相关Nginx限制IP访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Nginx如何限制IP访问只允许特定域名访问)