Abbiamo uno strano problema con un solo crawler. Di tanto in tanto sarà lanciare un errore Rails FATAL
su qualche richiesta, ma la traccia è molto limitato e sembra qualcosa di simileerrore misterioso delle rotaie con quasi nessuna traccia
[2014-07-01 18:16:37] FATAL Rails :
ArgumentError (invalid %-encoding (c^ FK+ 9u$_ t Kl
ΥE! =k \ ̕* ߚ>c+<O یo ʘ> C R! 2 D (5 x q#!` 4 p |8 I E
:+ H^9`^ # Vo{ >
=[z )):
lib/locale_middleware.rb:14:in `call'
L'user-agent crawler è
Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html)
Possiamo chiedere di fermarsi eseguendoci la scansione via robots.txt
, ma sarebbe meglio affrontare la causa principale e non fallire con 500 su quelle richieste se possibile.
Non possiamo davvero riprodurre questo tipo di richiesta, quindi qualsiasi suggerimento su come generare una richiesta simile sarebbe di grande aiuto.
Stiamo usando Rails 3.2.19, Unicorn su Ubuntu 12.04. Ecco il nostro locale_middleware.rb
Puoi riprodurre avendo '% 9g' nella richiesta URL? ? esempio: http://your.site/path/to/a/get?%9g – Benj
Immagino che l'eccezione si verifichi nel prossimo livello del middleware. Cosa sta succedendo LocaleMiddleware? È possibile eseguire 'rake middleware' –
@BenjaminSinclaire - l'aggiunta di'?% 9g' sembra produrre una risposta '400' dal nostro nginx, non colpisce nemmeno le rotaie. Dove hai preso questo '% 9g' comunque ?? (Mi sto incuriosendo) – gingerlime