/ / Como conectar diretamente o servidor por trás do proxy reverso com o cliente - apache, proxy, reverse

Como conectar diretamente o servidor atrás do proxy reverso com o cliente - apache, proxy, reverse

A questão refere-se ao Apache, mod_proxy.

Eu tenho um site com IP externo = X, IP interno = 10.0.0.1 desenvolvido pelo Apache que funciona como proxy reverso para imagens:

ProxyPassMatch *..(jpg|gif|png) http://10.0.0.2/handle_image.php

Quando um cliente com IP = Y se conecta a IP = Xsolicitando logo.jpg, o Apache no 10.0.0.1 conecta-se a 10.0.0.2 e recupera a imagem dele; Em seguida, ele envia a imagem para o cliente em Y. Isso significa que os dados da imagem passam por 10.0.0.1.

Eu quero que o cliente em Y obtenha dados diretamente de10.0.0.2 mantendo a conexão ao X; ou seja, o cliente acha que obtém dados do X, mas na verdade bombeia a imagem de 10.0.0.1, de modo que a rede do servidor no X não é carregada pela transferência de imagens.

Pelo que entendi deve ser meio seqüestro de sessão TCP pelo servidor em 10.0.0.2 da conexão entre X e Y.

Como eu faço isso?

EDITAR Para me deixar mais claro, adiciono um gráfico.insira a descrição da imagem aqui

Respostas:

0 para resposta № 1

A abordagem real que você descreve não é possível com um navegador. Você não pode iniciar uma conexão a partir do backend para o navegador, ele tem que vir do navegador para o backend.

O que você pode fazer é usar websockets para criar umconexão full duplex do backend para o cliente através do proxy. Assim, o backend pode continuamente empurrar coisas novas para o navegador, mas ele passa pelo proxy que apenas o encapsula do back-end para o navegador em formato raw.

Com o httpd (Apache), isso é possível usando mod_proxy_wstunnel Como alternativa, você pode conseguir isso com mod_lua, mas isso é uma outra história.