Yo,

jvais etre relou mais utilisez gist pour copier coller votre code ou vos 
logs, directement dans le corps d'un mail c'est totalement illisible.

Le mardi 24 septembre 2013 11:29:56 UTC+2, Oto Iashvili a écrit :
>
> Salut
>
> J'utilise nginx et rails pour mon site dont les url contiennent des 
> lettres georgien ie განცხადებები, ce qui donne qqch du genre 
> http://gancxadebebi.ge/ka/%E1%83%92%E1%83%90%E1%83%9C%E1%83%AA%E1%83%AE%E1%83%90%E1%83%93%E1%83%94%E1%83%91%E1%83%94%E1%83%91%E1%83%98
>
> Dans l'ensemble ca fonctionne tres bien, mais parfois je recois de requete 
> avec des url tronquée ie
> 1 - 
> http://gancxadebebi.ge/ka/%E1%83%92%E1%83%90%E1%83%9C%E1%83%AA%E1%83%AE%E1%83%90%E1%83%93%E1%83%94%E1%83%91%E1%83%94%E1%83%91%E1%83%9
> (comme vous pouvez le voir, il manque qqch apres %9)
> ou
> 2 - 
> http://gancxadebebi.ge/ka/%E1%83%92%E1%83%90%E1%83%9C%E1%83%AA%E1%83%AE%E1%83%90%E1%83%93%E1%83%94%E1%83%91%E1%83%94%E1%83%91%E1%83%98?mc=mini+aipadi&search=%E1%83%AB%E1%83%98%E1%83%94%E1%83%91%E1%83%9
>
> J'ai reussi a géré ce type de pb lorsqu'il n'y a pas de parametre get (1er 
> exemple d'url) et de faire ds ce cas une redirection vers /
> dans ce cas, une ligne est ajouté au log nging error.log
> 2013/09/24 00:46:53 [alert] 63547#0: *19359227 pcre_exec() failed: -10 on 
> "/ka/განცხადებებ�" using "", client: aa.bb.cc.dd, server: gancxadebebi.ge, 
> request: "GET 
> /ka/%E1%83%92%E1%83%90%E1%83%9C%E1%83%AA%E1%83%AE%E1%83%90%E1%83%93%E1%83%94%E1%83%91%E1%83%94%E1%83%91%E1%8
>  
> HTTP/1.1", host: "gancxadebebi.ge"
>
> mais pour le second type d'url, avec des parametre get tronqués, je 
> n'arrive pas à le géré, ce qui genere une page "400 bad request"
> et ces requetes ajoutent une ligne au log nginx access.log
> aa.bb.cc.dd - - [24/Sep/2013:00:48:47 +0200] "GET 
> /ka/%E1%83%92%E1%83%90%E1%83%9C%E1%83%AA%E1%83%AE%E1%83%90%E1%83%93%E1%83%94%E1%83%91%E1%83%94%E1%83%91%E1%83%98?mc=mini+aipadi&search=%E1%83%AB%E1%83%98%E1%83%94%E1%83%91%E1%83%
>  
> HTTP/1.1" 400 5 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 
> (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36"
>
> cela veut il dire que nginx arrive a traiter la requete et que c'est 
> ensuite rails qui ne peut la gérer ?
>
> Je ne sais pas si le probleme vient de rails ou de ngninx. Pour le 1er 
> type d'url, j'ai resolu le pb dans la conf nginx
>
> voici une partie de ma conf nginx
>
>     access_log /var/log/nginx/gancx.access.log;
>     error_log /var/log/nginx/gancx.error.log;
>
>     client_body_in_file_only clean;
>     client_body_buffer_size 32K;
>     charset UTF-8;
>     source_charset UTF-8;
>     client_max_body_size 300M;
>
>
>
>     error_page  400 404         = @notfound;
>     error_page  500 502 504 = @server_error;
>     error_page  503         = @maintenance;
>
>     location @notfound {
>       rewrite ^(.*)$ $scheme://$host permanent;
>     }
>
>     location @server_error {
>         rewrite ^(.*)$ $scheme://$host permanent;
>     }
>
>     location @maintenance {
>         rewrite ^(.*)$ $scheme://$host permanent;
>     }
>     sendfile on;
>     send_timeout 300s;
>
>     location / {
>         proxy_pass http://gancx;
>         proxy_redirect off;
>
>         proxy_set_header   Host             $host;
>         proxy_set_header   X-Real-IP        $remote_addr;
>         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
>         charset UTF-8;
>         client_max_body_size 7m;
>         proxy_buffer_size          4k;
>         proxy_buffers              4 32k;
>         proxy_busy_buffers_size    64k;
>         proxy_temp_file_write_size 64k;
>     }
>
> merci pour votre aide
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .

Répondre à