Nginx 防止被域名恶意解析的方法
2024-08-25 18:17:52
今天太倒霉了,发现通过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错误信息)
最新文章
- selenium在Eclipse中打开fireFox浏览器是报报错connect to host 127.0.0.1 on port 7055
- java5 Lock用法
- SublimeText2 快捷键一览
- 《C标准库》——之<;ctype.h>;
- <;javascript搞基程序设计>;笔记2015-9-25
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
- HDU1159-Common Subsequence
- 关于PHPExcel类占用内存问题
- ajax 调用 .net core WebAPI,报错 400 (Bad Request) Unexpected character encountered while parsing value
- Docker使用docker-compose.yml构建Asp.Net Core和Mysql镜像并与Mysql数据库通信
- Python2.0 与 3.0 的区别
- PhpStorm+xdebug+postman调试
- 自动化测试-14.selenium加载FireFox配置
- DevOps - CI - 持续集成(Continuous Integration)
- [WC2005]双面棋盘(线段树+并查集)
- App.config使用方法(基础教程)
- Vue2学习笔记:实例
- 第一次项目冲刺(Alpha版本)2017/11/19
- poj_1182 并查集
- ARP监测工具Arpwatch
热门文章
- 【转】Android折叠效果实现案例
- Oracle的SOME,ANY和ALL操作
- 查询select
- VS2012下systemC配置
- Javascript实例技巧精选(6)—滚动鼠标中键读取Json数据分页显示网页内容
- char* 转换成 CString
- The initialization of the CRM authentication pipline execution has failed
- C语言中指针变量如何向函数中传递
- MongoDb的“not master and slaveok=false”错误及解决方法,读写分离
- [转]编译 JavaScriptCore For iOS