私たちのウェブサイトでは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に起因していることに気付きました。400エラー全体の約85%です。
ここに完全なログがあります:
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
これは、サーバーではなくクライアントが原因である可能性が高いです(間接的には可能です)。不正なURL(404をトリガーする前に400によってブロックされたもの)だけではない場合、99%の場合、これは
ブロックされたCookieの仮定をテストし、ブラウザーでCookieをブロックし、400エラーが発生するかどうかを確認する場合、残りは少しトリッキーです。次を参照してください https://airbrake.io/blog/http- errors/400-bad-request
すでにCookieの更新で修正されたとおっしゃっていたので、Cookieに関連していると思います。
編集:
私は別の見方をしています。リクエストはhttp(暗号化されていない)を介して行われ、文字列「username」を含むGETリクエストにリファラーが含まれています。これにより、実際には、そのリファラーをヘッダーに含めてサイトにアクセスしたユーザーが識別可能になり、中央の男性がリクエストをクリアテキストで表示できるようになります。
Googleが暗号化されていないHTTPトラフィックに対して一種の戦争を始めたので、Chromeはいくつかの問題を引き起こすと考えられます。これは単なる仮定ですが、これを確認またはバックアップすることはできません。しかし、それだけの価値はありますあなたはとにかくあなたのトラフィックを暗号化する必要があるので試してください。
サーバーにhttpsが設定されていますか?設定されている場合、httpsを使用するときに同じエラーを再現してみることはできますか?