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;
}

这样在浏览器端访问的时候,浏览器会自动提示用户无法访问

Nginx 防止被域名恶意解析的方法

通过 CURL 抓取的结果(输出的是HTTP错误信息)

Nginx 防止被域名恶意解析的方法

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神神的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值