当前位置: 首页 > 知识库问答 >
问题:

环境卫生已由良好向严重过渡。81.8%的请求与HTTP 4xx有错误

融伯寅
2023-03-14

我在这里读了一些文章,并遵循了WAF的解决方案,所以我创建了分配给CloudFront的ACL,然后我创建了规则,它阻止所有在HTTP方法中包含word HEAD的请求。当我试图从postman发送HEAD请求时,它就像我想要的那样工作(我收到错误403),但不幸的是,错误仍然存在,我每天都在apache日志中看到大量HEAD请求。

请求清单:

[01/Aug/2017:07:42:09+0000]“Head/MySQL/DBADMIN/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:12+0000]“Head/phpmyadmin3/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:13+0000]“Head/2phpMyAdmin/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:13+0000]“Head/phppma/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:15+0000]“Head/DBADMIN/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:16+0000]“Head/DB/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:16+0000]“Head/MySQL/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:17+0000]“head/db/phpmyadmin/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:17+0000]“Head/SQLManager/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:19+0000]“head/admin/phpmyadmin/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:20+0000]“head/admin/sysadmin/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:20+0000]“Head/Admin/DB/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:23+0000]“Head/MySQL/PMA/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:24+0000]“Head/SQL/PHP-MyAdmin/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:24+0000]“Head/SQL/SQL/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:30+0000]“Head/SQLADMIN/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:30+0000]“head/sql/phpmyadmin2/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:31+0000]“Head/SQL/phpMyAdmin/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:49+0000]“Head/DB/DBADMIN/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:49+0000]“Head/db/phpmyadmin3/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:51+0000]“Head/db/phpmyadmin-3/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:54+0000]“Head/Administrator/PMA/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:54+0000]“Head/phpmyadmin2/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/aug/2017:07:42:55+0000]“Head/phpmyadmin4/http/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:56+0000]“Head/PMA2014/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:57+0000]“Head/PMA2016/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:42:57+0000]“Head/PMA2018/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:43:00+0000]“Head/PMA2016/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:43:01+0000]“Head/PMA2018/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:43:01+0000]“Head/phpmyAdmin2012/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

[01/Aug/2017:07:43:04+0000]“Head/phpMyAdmin2018/HTTP/1.1”404 260“-”Mozilla/5.0 Jorgee“

谢谢你的帮助。

共有1个答案

葛俊
2023-03-14

我直接联系了AWS支持部门,这是他们提供给我的解决方案:

我查看了您发布的日志以防万一,我发现代理是Jorgee,这是一个常见的恶意软件代理。我偶然发现了关于这个代理的博客[1],尽管它不是官方的,但得到了它的见解。

Elastic Beanstalk environment实例中名为“healthd”的守护进程通过监视特殊的日志文件来监视运行状况。如果代理在该文件中发现大量的4xx,环境将进入严重状态。

.ebextensions/healthd_ignore_4xx.config

   files:
   "/etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf":
   mode: "000644"
   owner: root
   group: root
   content: |
     # modification No.1
      map $status $logflag {
          404 0;
          403 0;
          default 1;
      }

      map $http_upgrade $connection_upgrade {
          default        "upgrade";
          ""            "";
      }

      server {
          listen 80;

          gzip on;
              gzip_comp_level 4;
              gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

          if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2})") {
              set $year $1;
              set $month $2;
              set $day $3;
              set $hour $4;
          }

          # modification No.2
          # access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;
            access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd if=$logflag;

          access_log    /var/log/nginx/access.log;

          location / {
              proxy_pass            http://docker;
              proxy_http_version    1.1;

              proxy_set_header    Connection            $connection_upgrade;
              proxy_set_header    Upgrade                $http_upgrade;
              proxy_set_header    Host                $host;
              proxy_set_header    X-Real-IP            $remote_addr;
              proxy_set_header    X-Forwarded-For        $proxy_add_x_forwarded_for;
          }
      }

该配置将用您定义的内容替换默认的/etc/nginx/sites-enabled/ellasticBeanstalk-nginx-docker-proxy.conf文件。我所做的修改是:

  • No.1:添加了map指令,它将$status映射到$logflag。当请求为404或403时,将$logflag设置为0。将1设置为其他状态。
  • No.2:在access_log[2]指令中添加了if=$logflag。仅当HTTP状态不是404或403时写入healthd监视日志。
 类似资料:
  • 我正在努力寻找一个时间复杂度为o(m log n)+o(n)的问题的解决方案。 假设有向无环图有n个节点和m个请求,每个节点最多有一个父节点。在时间=0时,图为空。请求有两种类型:添加边(u,v)或查找顶点为u的子图的根。只有在不破坏图的任何属性的情况下才应该添加边(它应该保持无循环,每个节点最多仍然应该有一条传入边)。 这样,检查添加edge是否破坏属性或返回root需要O(1)个时间。然而,更

  • 我有一个POJO应用程序,我正试图将其转换为Spring框架。现在这个应用程序正在JAVA 8中运行,我正试图删除所有的servlet和JSP页面。我看了一大堆关于Spring MVC和Spring Boot的教程。就教程而言,Spring Boot主要围绕着API和CRUD应用程序,而Spring MVC主要面向网络应用程序。我想知道我是否可以用相同的框架来做这两件事,哪个框架更好? 我只是想得

  • 问题内容: 如何通过index.php重新路由所有对php页面的请求? 我的.htaccess如下: 基本上,我试图模仿.NET母版页。index.php具有站点页眉/页脚。 它将404重定向到index.php。我如何使其将所有请求重定向到php页面(index.php本身除外)? 此方法是否存在任何性能问题(不想使用框架)? 问题答案: 这是我使用的(并且已经使用了很长时间): 正如评论所建议

  • 问题内容: 我需要通过POST请求将用户重定向到外部站点。 我发现的唯一选择是通过JavaScript提交表单。 有任何想法吗? 问题答案: 你的意思还不太清楚,所以让我们来看一些情况: 用户应将表格过帐到你自己以外的服务器上 简单,只需将目标指定为表单操作即可: 成功提交POST后应重定向用户 像往常一样轻松地接受和处理POST数据,然后使用或重定向标头进行响应。 用户应将数据发布到你的服务器,

  • 英文原文: http://emberjs.com/guides/routing/preventing-and-retrying-transitions/ 在一个路由过渡过程中,Ember路由器将一个过渡对象传递给过渡相关的路由的各种钩子。任何可以访问过渡对象的钩子,都可以通过调用transition.abort()来立即取消当前过渡,如果保存了该过渡对象,那么在后续可以通过调用transition

  • 更新时间:2019-08-31 11:22:33 服务分为生产环境与开发环境,未发布的服务认为是在开发环境,发布后的服务为生产环境的服务。生产环境的服务才可以在web工作台,或代码工程内调用。生产环境的服务不可再进行修改,需要在开发环境中修改部署发布服务后,才可生效。 服务运维监控功能是为生产环境的服务提供的,您可以在此查看生产环境服务的调用量及运行日志。

  • 我正在开发一个API网关,将请求重定向到一些微服务。这是application.properties文件的一部分: 我正在尝试重定向来自API网关的请求(http://localhost:8080/PetApp/auth/login)到正在运行的服务(http://localhost:8086/PetApp_Auth/auth/generateToken)我已经和邮递员一起将请求直接发送到微服务,

  • 我似乎已经解决了直接的编译错误,但希望有更深入的了解,在StackExchange或谷歌搜索错误消息中没有找到任何直接适用的信息。 全新错误消息: 当我检查应用程序的Java构建路径时: 只有四项:1)导入的jar文件库(用于API)2)Android 4.4.2 3)Android依赖项4)Android私有库