Otázka sa týka Apache, mod_proxy.
Mám web s externým IP = X, interný IP = 10.0.0.1 napájaný Apache, ktorý funguje ako obrátená proxy pre obrázky:
ProxyPassMatch *..(jpg|gif|png) http://10.0.0.2/handle_image.php
Keď sa klient s IP = Y pripája k IP = XAplikácia Apache na 10.0.0.1 sa pripojí k 10.0.0.2 a načíta obraz z neho; potom pošle obrázok na klienta na Y. To znamená, že obrazové údaje prechádzajú cez 10.0.0.1.
Chcem, aby klient z Y získal priamo údaje10.0.0.2 pri zachovaní spojenia s X; tzn. klient si myslí, že získava dáta z X, ale v skutočnosti čerpá obraz z 10.0.0.1, takže serverová sieť na X nie je načítaná prenosom obrazu.
Ako som pochopil, malo by to byť trochu TCP relácie únosu serverom na 10.0.0.2 spojenia medzi X a Y.
Ako to urobím?
EDIT Aby som bol jasnejší, pridávam grafiku.
odpovede:
0 pre odpoveď č. 1Skutočný prístup, ktorý popíšeme, nie je možné v prehliadači. Z pripojenia nemôžete iniciovať spojenie na prehliadač, musí prichádzať z prehliadača na backend.
Čo môžete urobiť, je použiť websockety vytvoriťplné obojstranné pripojenie od backend k klientovi cez proxy. Takže backend môže neustále tlačiť nové veci do prehliadača, ale prechádza cez proxy, ktorý len tuneluje z backend do prehliadača v surovej forme.
S httpd (Apache) je to možné pomocou mod_proxy_wstunnel
Prípadne to môžete dosiahnuť mod_lua
, ale to je celý iný príbeh.