Stránka 1 z 1

Reverzní proxy špatně zpracuje %20

Napsal: ned 10. dub 2016 11:56:45
od u1784
Reverzní proxy přeposílá na můj server GET požadavky obsahující URI obsahující %20 tak, že je nahradí mezerou. Apache pak odpoví HTTP 404 (v logu je opravdu mezera, takže to navíc rozhodí jeho formát).
Při přímém připojení přes IPv6 je stejný požadavek obsloužen bez problémů (v logu je v URI řetězec %20).

Je problém u mne, nebo na reverzní proxy?
Lze to na reverzní proxy opravit nebo mohu udělat nějaký workaround na Apachi?
TIA.

Re: Reverzní proxy špatně zpracuje %20

Napsal: pon 11. dub 2016 7:05:20
od 4smart.cz
Zdravím,
Bohužel nginx, který používáme na našich proxy serverech, přikládá řetězci začínajícímu '%' a následujícím číslem význam znaku podle ASCII tabulky. Číslo za '%' odpovídá hexadecimálnímu zápisu čísla,
tedy 20hex je podle ASCII mezera.
Doporučuji se používání znaku % v URL zcela vyhnout.

J.M.

Re: Reverzní proxy špatně zpracuje %20

Napsal: úte 12. dub 2016 16:05:33
od u1784
To je tedy od nginx dost nestandardní, ne?
Není potřeba jej nakonfigurovat tak, že když už URI rozkóduje, aby jej zase zakódoval, než jej pošle na klientův webserver, použitím direktivy set nebo set_escape_uri?

http://stackoverflow.com/questions/8838 ... -proxy-pas --
The "set" directive seems to keep the url encoding intact (or re-encodes from what the regex is passing back in $1).
http://serverfault.com/questions/445554 ... rl-decoded

Re: Reverzní proxy špatně zpracuje %20

Napsal: stř 13. dub 2016 7:24:14
od 4smart.cz
Uvedené chování je nestandardní.
Podívám se na to při další aktualizaci proxy serverů.

J.M.