AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 934495
Accepted
COil
COil
Asked: 2018-10-09 05:19:58 +0800 CST2018-10-09 05:19:58 +0800 CST 2018-10-09 05:19:58 +0800 CST

Apache 日志中有很多 400 错误

  • 772

我们很难在我们的网站上调试 400 个错误。我们有很多这样的错误:

10.0.0.1 - - [08/Oct/2018:14:28:07 +0200] 
"GET /les-news/palmares/detail/article/la-lettre-de-motivation-ideale-pour-une-demande-de-stage-5224/ 
HTTP/1.1" 400 131844 
"https://www.google.com/" 
"Mozilla/5.0 (Linux; Android 7.0; TECNO K7 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36"

用户通过电子邮件报告了该问题,并通过在他的浏览器中重置其 cookie 来解决此问题,因为其他重置 cookie 是不够的(但我们不能确定它是否正确完成)。

该平台相当复杂,由F5 负载均衡器处理,具体取决于转发到不同服务器的请求的路径。

一开始我想要的是能够重现错误,因为在访问 URL 时我们没有任何内容,并且一切正常。

我们注意到大部分错误来自 Android/Chrome:大约 85% 的所有 400 错误。

这是完整的日志:

timestamp   October 8th 2018, 16:26:52.000
version     1
 _id        BmQSVGYB5vF-Dw_g1gVi
 _index     f5_access-2018.10.08
 _score     - 
t _type     doc
t agent     Mozilla/5.0 (Linux; Android 8.1.0; MI 8 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36
client_ip   10.0.0.1
client_port     41,068
facility    local2
host        mydomain.fr
httpversion     1
id      2,503,307,391
length      0
logsource   mydomain.network.local
message     virtual=/Common/mydomain.fr_HTTP client_ip=10.0.0.1 client_port=41068 lb_server=10.153.161.12:80 host=mydomain.fr request_port=80 username= request="GET / HTTP/1.1" server_status=400 content_length=0 resp_time=23 user_agent="Mozilla/5.0 (Linux; Android 8.1.0; MI 8 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36" referer=http://mydomain.fr/article/100-millions-d-euros-sciences-po-lance-la-plus-grande-levee-de-fonds-de-son-histoire_095255b4-caef-11e8-896c-7d05c73a49da/ ID=2503307391 timestamp=2018-10-08T16:26:52+0200 pool=/Common/POOL_ETUDIANT_v2_nocache
pool        POOL_MYDOMAIN_v2_nocache
program     f5_access
referer     http://mydomain.fr/article/100-millions-d-euros-sciences-po-lance-la-plus-grande-levee-de-fonds-de-son-histoire_095255b4-caef-11e8-896c-7d05c73a49da/
request     /
request_port    80
server_ip   10.0.0.1
server_port     80
severity    Informational
status      400
stdstatus   4xx
stdvirtual  mydomain_fr_HTTP
tags        f5_access
time        23
timestamp   October 8th 2018, 16:26:52.000
type        f5_access
verb        GET
virtual     mydomain.fr_HTTP
apache-2.4
  • 1 1 个回答
  • 3959 Views

1 个回答

  • Voted
  1. Best Answer
    Broco
    2018-10-09T05:29:59+08:002018-10-09T05:29:59+08:00

    这很可能是由客户端引起的,而不是由服务器引起的(嗯,它可以是间接的)。如果它不仅仅是一个格式错误的 url(一个在能够触发 404 之前被 400 阻止的 URL),在 99% 的情况下,这是由

    • 损坏的 cookie(例如可能由扩展程序引起)
    • 被阻止的 cookie
    • cookie 过多(某些浏览器会阻止大量 cookie)
    • 客户尝试欺骗性请求(我无意中假设)

    如果您想测试被阻止的 cookie 假设,请在浏览器上阻止 cookie 并查看是否收到 400 错误,其余的有点棘手,请参阅:https ://airbrake.io/blog/http-errors/400-错误的请求

    既然您已经说过刷新 cookie 可以解决问题,我会假设它与 cookie 相关。

    编辑:

    我有另一个角度:请求通过 http(未加密),并包含一个带有 GET 请求的引荐来源网址,其中包含字符串“用户名”。这实际上使访问该站点的用户在其标头中具有该引荐来源地可识别,更重要的是,该请求可以由中间的人以明文形式查看。

    由于谷歌已经对未加密的 http 流量发起了一场战争,我可以假设 Chrome 会导致一些问题。这只是一个假设,我无法证实或支持它。但值得一试,因为无论如何您都应该加密您的流量。

    您是否在服务器上设置了 https,如果有,您可以尝试在使用 https 时重现相同的错误吗?

    • 6

相关问题

  • Apache2 - SSL 不工作

  • Apache <VirtualHost> 标签,如果客户端的 IP = x 则不重定向... 怎么做?

  • 我无法启用我的网站?[关闭]

  • SELinux 阻止 Apache 写入文件

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve