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,centos,linux,nginx)