这里有新鲜出炉的Nginx开发从入门到精通,程序狗速度看过来!
Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
这篇文章主要介绍了Nginx 防止被域名恶意解析的方法的相关资料,希望通过本文能帮助到大家,让大家掌握理解这部分内容,需要的朋友可以参考下
Nginx 防止被域名恶意解析的办法
前言:
今天太倒霉了,发现通过IP无法访问服务器的80端口很无语,昨天都还好的啊,也没有修改过配置,其他端口又是正常的,防火墙也没问题。于是问了下机房,给了个崩溃的回复说我们的服务器有个域名没有备案被电信多次通告,然后就把我们ip端口给封了。。。。封了啊。。。疯了,关键是这个域名TMD不是我的啊
经过一番折腾,发现是 nginx 配置上貌似有个漏洞,导致任何域名解析到服务器都能被正常请求,虽然是个空白页,但HTTP状态码是200。
主要是缺少下面的配置代码:nginx 版本 1.8.0
- server {
- listen 80 default_server;
- server_name _;
- return 403;
- }
让所有没有配置过的 server_name 都返回 403 错误
我以前 Nginx 也重未加过这个配置,但重来没遇到过此类问题,而且我在另一台服务器上测试,即便没有这个代码也不可能解析并请求成功啊,很是无语。
补充:
搜索了一圈后发现 Nginx 对这类问题,貌似应该用自身特有的 444 这个状态码最好
- server {
- listen 80 default_server;
- server_name _;
- access_log off;
- return 444;
- }
这样在浏览器端访问的时候,浏览器会自动提示用户无法访问
通过 CURL 抓取的结果(输出的是HTTP错误信息)
来源: http://www.phperz.com/article/17/1106/351742.html