最新消息:欢迎访问小松个人博客,小松最近开始学习java,感觉spring boot比较简单,下载文档开始学习一下

nginx访问日志GET后面用http://开头

Nginx 27浏览 0评论

今天检查nginx访问日志的时候发现奇怪的日志

[02/Nov/2017:13:35:46 +0800] "GET http://www.baidu.com/ HTTP/1.1" 200 8672 "http://www.baidu.com" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0" -

截图如下

nginx代理攻击
这里取的只是百度的域名,还有好多其他的域名,这个应该是代理攻击

有没有发现GET后面用http://开头的,正常情况GET后面是用”/”开头,如下面的访问日志

[08/Nov/2017:21:54:15 +0800] "GET /2330.html HTTP/1.1" 200 8419 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" -

这个问题在百度gogole的相关文章比较少,所以现在不清楚目前的处理方法是否正确,如果你要遇到了这个问题,可以尝试一下

目前处理的方法

#nginx中添加下面的配置,主要作用就是没有指定域名的返回444
server {
    server_name _;
    location / { 
        return 444; 
    }
}
server
{

    listen 443 ssl http2;
    server_name www.phpsong.com;
    //...


    #添加代码,主要作用如果域名不是www.phpsong.com的就返回444
    if ($host !~ ^(phpsong.com|www.phpsong.com)$) {
              return 444;
    }

    //...
}

设置之后,发现这种日志不存在了,因为不清楚模拟这种攻击,所以不清楚是否已经解决了,apache的解决方法可以看一下这个文章https://wiki.apache.org/httpd/ProxyAbuse

QQ交流群:136351212(满) 455721967

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» nginx访问日志GET后面用http://开头
本文链接地址:https://www.phpsong.com/3459.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!