Apr 12

nginx关闭默认站点办法

分类:study | 172 views | 给我留言

今天遇到了Nginx开启了默认端口,导致一些未备案的域名指向了服务器而出现问题,所以找了下相关的资料来处理。

 

最近越来越有迹象表明,针对idc的监控将越来越严厉。甚至一些服务器上不存在的域名,只要有dns指向你的服务器,并且有访问,就会被“监管”。

对于我常用的nginx来说,即使是访问服务器上不存在的域名时,nginx也会返回一个出错页面“bad hostname”之类的。

解决方法是在nginx的配置文件中(nginx.conf)加入一个处理默认(就是不符合其他任何已有的vhost)server的项目:

server {
listen       80  default_server;
server_name  _;
return       444;
}

# default_server 是 8.21+加入的参数,如果低于8.21 ,则可以注意将下面代码放在其他server项前面

server {
listen 80 ;
return 444;
}

这其中最关键的是 magic number 444。 444是nginx内置的错误代码。对我们来说 return 444 比 return 404还要好。因为 nginx 下即使return 404,也会有返回的header和一个包含错误信息的html body。但是return 444,服务器会立刻关闭连接,就好象服务不存在一样。

 

From :http://www.lingang.gd.cn/?action=show&id=291

 

最后还是使用了
server {
listen 80 default;
return 500;
}

  • 标签 :  ,
  • 原文链接 : http://iamneo.cn/?p=1173
  • 转载原创文章请注明 : 邪恶天使
  • 收藏到 : Google书签 新浪ViVi 365Key网摘 天极网摘 我摘 POCO网摘 博采网摘 YouNote网摘 和讯网摘 博拉网 igooi网摘 I2Key网摘 天下图摘 百特门网摘 Del.icio.us Yahoo书签 奇贴 QQ娱乐摘 添加到Digg! 添加到Facebook!
  • 发表留言