nginx只允许域名访问,禁止ip访问

背景:
为什么要禁止ip访问页面呢?
这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生。

解决方法:
这里介绍修改配置文件nginx.conf两种方法:
1)在server段里插入如下正则:
listen       80;
server_name  www.yuyangblog.net;
if ($host != 'www.yuyangblog.net'){
   return 403;
}


2)添加一个server
新加的server(注意是新增,并不是在原有的server基础上修改)
server {
  listen 80 default;
  server_name _;
  return 403;
}
原来server里面插入:
listen       80;

server_name  www.yuyangblog.net;

 

效果:

设置成功后,就只能用域名访问网站,不能用ip访问了。

 

 

 

 

实例配置:

[root@weifeng conf.d]# cat weifeng.conf

server {
listen 80 default;
server_name _;
return 403;
}

 

 

server {
        server_name 80 default;
        server_name _;
        rewrite ^(.*) http://www.demo.com;
        }
 
server {
 
        server_name localhost www.demo.com;
 
        root /usr/share/nginx/www;
        index index.html index.htm;
 
        location / {
                index index.php;
                try_files $uri $uri/ /index.html;
        }
 
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
 
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
 
}

 

posted @ 2022-01-14 08:41  小y  阅读(2436)  评论(0编辑  收藏  举报