您的位置:首页 > 运维架构 > Nginx

Nginx禁止未定义的域名访问

2016-06-21 00:00 555 查看
[b]Nginx禁止未定义的域名访问[/b]

[b]1、问题信息:[/b]

查看联通前端nginx(NAT)的日志,发现很多奇怪的域名出现,不在server_name中,而且状态码都是200,且返回的数据是首页的内容。

[b]①、日志如下:[/b]

222.186.57.140 | [20/Jun/2016:12:28:55 +0800] | vc2008.com | "GET http://vc2008.com/ HTTP/1.1" | 200 | 189144 | "http://vc2008.com" | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)" | "-" |

14.152.95.48 | [20/Jun/2016:12:28:56 +0800] | www.hkmke.com | "GET http://www.hkmke.com/ HTTP/1.1" | 200 | 189144 | "http://www.hkmke.com" | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)" | "-" |

[b]②、流量图:[/b]



[b]2、目的:[/b]

联通访问的本来就不多,不需要浪费流量,同时完善Nginx配置,都应该解决此问题

[b]3、解决办法:[/b]

查到相关资料:http://www.2cto.com/os/201210/164152.html

在nginx配置加上一下内容(端口看情况填写)

server {
listen 81 default_server;
server_name _;
return 403;
}
default_server:nginx的虚拟主机是通过HTTP请求中的Host值来找到对应的虚拟主机配置

【-】:是一个许多无效的域名中的一个代表与任何真实的名字,永远不会相交。其它无效的名称,如【-、!、@、#】,也可同样使用。

对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机,然后直接返回403(状态码,可以自己定义,且返回内容可以通过error_page、echo或是lua等等)。

[b]4、检验效果:[/b]

[b]①、日志:[/b]

14.152.95.48 | [21/Jun/2016:10:34:16 +0800] | vip.5203389.cn | "GET http://vip.5203389.cn/ HTTP/1.1" | 403 | 610 | "http://vip.5203389.cn" | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)" | "-" | - | - | - |

222.186.42.176 | [21/Jun/2016:10:34:16 +0800] | c.bamboo99.com | "GET http://c.bamboo99.com/ HTTP/1.1" | 403 | 610 | "http://c.bamboo99.com" | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)" | "-" | - | - | - |

222.186.57.140 | [21/Jun/2016:10:34:17 +0800] | vc2008.com | "GET http://vc2008.com/ HTTP/1.1" | 403 | 606 | "http://vc2008.com" | "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)" | "-" | - | - | - |

[b]②、流量图:[/b]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx default_server