nginx禁止未授权未绑定的域名访问

Nov 13th Sun, 2011/JiaJieChan/折腾/5,864 阅读/1 评论

(本站原创文章,部分资料来自互联网)

我今日查到有一些域名指向到我的VPS。为了防止其他域名包括未备案等域名的指向,而使IP受到不必要的麻烦,因此需要将没有绑定的域名禁止访问或跳转到其他页面。可以用下面的方法实现。

编辑 nginx.conf 配置文件;

禁止所有未授权域名及IP访问

添加一条规则如下

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

说明
设置默认ip的80端口下的所有为绑定域名访问后,返回403错误。

 

禁止未授权域名访问  允许服务器IP的访问

上面的规则会出现用IP访问网站也会出现500错误,下面就来解决这个问题,以便用户使用一些通用的管理平台,如phpmyadmin管理等。一般这些管理工具都是使用服务器ip来访问的,如果禁止了IP,那样就需要用域名来访问,这个很不方便。下面有方法解决。 在默认的网站上,或在相关域名绑定规则里加入这个代码; 在 server_name 后面加入要使用的服务器IP,如下;
原来的规则:

server
{
listen 80;
server_name jiajieit.net;
index index.html index.htm index.php;
root /home/wwwroot;
}

修改后:

server
{
listen 80;
server_name jiajieit.net 184.82.243.184;
index index.html index.htm index.php;
root /home/wwwroot;
}

将未授权指向的域名跳转的指定页面

将 return 403;(返回403错误提示)修改为;

rewrite ^(.*)  http://www.jiajieit.net/stop.html permanent;

 

最后重启一下nginx

/usr/local/nginx/sbin/nginx -s  reload

声明: 本文采用 BY-NC-SA 协议进行许可. 转载请出示版权信息.
  1. 本文目前尚无任何评论.
  1. 三月 20th, 2013下午31 20:02 / #1
支持使用Gravatar头像

JiaJieChan提醒您: 要回复某人的评论,请将鼠标移动到那条评论,评论右边就会出现Replay字样(一定是要鼠标指针中的评论),在评论框中出现的的后面下一行填写评论提交即可.被回复者将收到邮件通知噢; 要是想直接对本文评论请直接在评论框留言即可,然后点提交.