Temos dificuldade em depurar erros 400 em nosso site. Temos muitos erros como este:
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"
Um usuário relatou o problema por e-mail e foi corrigido redefinindo seus cookies em seu navegador para outros redefinir cookies não foi suficiente (mas não podemos ter certeza de que foi feito corretamente).
A plataforma é bastante complicada e tratada por um balanceador de carga F5 , dependendo do caminho que a requisição for encaminhada para diferentes servidores.
O que eu gostaria a princípio é poder reproduzir o erro porque ao acessar a URL não temos nenhuma e tudo funciona bem.
Percebemos que a maioria dos erros vem do Android/Chrome: cerca de 85% de todos os 400 erros.
Aqui está um registro completo:
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
Isso provavelmente é causado pelo cliente, não pelo servidor (bem, indiretamente pode ser). Se não for apenas um URL malformado (um que é bloqueado por 400 antes de poder acionar 404), em 99% dos casos isso é causado por
Se você quiser testar a suposição de cookie bloqueado, bloqueie os cookies no seu navegador e veja se você recebe um erro 400, o resto é um pouco mais complicado, veja: https://airbrake.io/blog/http-errors/400- pedido ruim
Como você já disse que foi corrigido com a atualização dos cookies, suponho que seja relacionado a cookies.
Editar:
Eu tenho outro ângulo: A solicitação foi por http (não criptografada) e inclui um referenciador com a solicitação GET que inclui a string "username". Isso realmente torna os usuários que visitam o site com esse referenciador em seu cabeçalho identificáveis, mais ainda, a solicitação pode ser visualizada por um homem no meio em texto simples.
Como o Google começou uma espécie de guerra contra o tráfego http não criptografado, posso supor que o Chrome causa alguns problemas. Esta é apenas uma suposição, porém, não posso confirmar isso ou fazer backup. Mas vale a pena tentar, pois você deve criptografar seu tráfego de qualquer maneira.
Você tem https configurado em seu servidor e se sim, você pode tentar reproduzir o mesmo erro ao usar https?