我今日查到有一些域名指向到我的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