Reverzní proxy špatně zpracuje %20

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.
Zamčeno
u1784
Příspěvky: 7
Registrován: ned 10. dub 2016 11:49:05

Reverzní proxy špatně zpracuje %20

Příspěvek 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.
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Reverzní proxy špatně zpracuje %20

Příspěvek 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.
u1784
Příspěvky: 7
Registrován: ned 10. dub 2016 11:49:05

Re: Reverzní proxy špatně zpracuje %20

Příspěvek 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
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Reverzní proxy špatně zpracuje %20

Příspěvek od 4smart.cz »

Uvedené chování je nestandardní.
Podívám se na to při další aktualizaci proxy serverů.

J.M.
Zamčeno