Wir haben ein seltsames Problem mit einem Crawler. Gelegentlich wird es einen Rails FATAL
Fehler auf einige Anfrage werfen, aber die Spur ist sehr begrenzt und sieht so etwas wie diesesgeheimnisvolle Schienen Fehler mit fast keine Spur
[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'
Der Crawler User-Agent
Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html)
ist Wir können sie bitten, zu stoppen Crawlen uns über robots.txt
, aber es wäre besser, mit der Grundursache zu beschäftigen und nicht mit 500 auf diese Anfragen scheitern, wenn möglich.
Wir können diese Art von Anfrage auch nicht wirklich reproduzieren, daher wären Vorschläge, wie man eine ähnliche Anfrage generiert, eine große Hilfe.
Wir verwenden Rails 3.2.19, Unicorn auf Ubuntu 12.04. Hier ist unser locale_middleware.rb
Sie mit '% 9g' in Ihrer Anfrage-URL reproduzieren? ? Beispiel: http://your.site/path/to/a/get?%9g – Benj
Ich vermute Ausnahme in der nächsten Middleware-Ebene passieren. Was geht nach LocaleMiddleware? Sie können "Rake Middleware" –
@BenjaminSinclaire laufen - hinzufügen ''% 9g' scheint eine '400' Antwort von unserem Nginx zu erzeugen, es trifft nicht einmal Rails. Wo hast du dieses '% 9g' jedoch abgeholt ?? (Ich werde neugierig) – gingerlime