Apache rproxy RewriteRule base path v HAProxy

Apache rproxy RewriteRule base path v HAProxy
« kdy: 04. 12. 2021, 23:54:13 »
Zdravím,
Snažím se nahradit starou reverzní proxy na apache2 novou haproxy. Bohužel se mi nedaří přepsat RewriteRule pravidla které přesměrovávají provoz z /path/ na backend do jeho /

Mám na mysli konkrétně takovéto pravidlo z apache konfigu:

Kód: [Vybrat]
RewriteRule ^/path/(.*)$ http://192.168.15.47:4500/$1 [NC,P]
Zkoušel jsem toto přidat do backendu, ale nepřepisuje to následné odkazy na obrázky, linky atd. .. těm chybí právě ta /path/ před

Kód: [Vybrat]
http-request set-var(txn.txnpath) path
http-request set-path "%[path,regsub(^/path/,/)]"  if  backendpath
http-response replace-value Location (.*) \/path\1  if  backendpath

Nevěděl by někdo poradit jak na to?
« Poslední změna: 05. 12. 2021, 09:10:05 od Petr Krčmář »


Re:Apache rproxy RewriteRule base path v HAProxy
« Odpověď #1 kdy: 05. 12. 2021, 19:09:38 »
Zaráží mne, že tam máte uvedené jenom /path a není za tím žolík (zástupný znak pro jakékoli znaky). Nemělo by tam být např. /path/.* nebo něco na ten způsob?

Také moc nerozumím větě „nepřepisuje to následné odkazy“. HAproxy nezasahuje do obsahu stránky, nebude v HTML měnit žádné odkazy. Pokud jste tím myslel to, že se nepřepisují požadavky třeba na /path/obrazek.webp, to bude tím, co je v předchozím odstavci.

Re:Apache rproxy RewriteRule base path v HAProxy
« Odpověď #2 kdy: 06. 12. 2021, 09:43:55 »
Jak uz jsem psal na abclinuxu, nedelejte to na haproxy, ale udelejte to na backendu. A vubec, ani takhle nemate garanci, ze se prepisou veskere odkazy - staci, aby byly generovane v javascriptu.