nginx 配置网站只允许域名访问,不允许通过ip访问

为什么要禁止ip访问页面呢?

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

解决方法:

这里介绍修改配置文件nginx.conf两种方法:.

1)在server段里插入如下正则:

listen    80;

server_name blog.tianyichuxin.com;

if ($host != 'blog.tianyichuxin.com'){

  return 403;

}

2)添加一个server

新加的server(注意是新增,并不是在原有的server基础上修改)

server {

 listen 80 default;

 server_name _;

 return 403;

}

原来server里面修改为:

listen    80;

listen    [::]:80 default_server;

server_name  blog.tianyichuxin.com;

listen [::]:80 default_server;可注释,也可不注释,根据情况自己选择

如果原有80端口后面有default或default_server,要去掉,不然重启会报错,如下:

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/nginx.conf:44