Como criar um simples proxy reverso expondo múltiplos serviços sob uma única porta

0

O problema comum com microsserviços é que desenvolvê-los pode ser complicado se você usar o AJAX e tentar ler a entrada de vários hosts / portas (devido a solicitações entre domínios).

Eu estou procurando uma solução muito simples que funcione com o Linux (preferencialmente usando python ou socat), onde eu posso encadear alguns hosts / portas em uma única porta.

host1:port1/service1 and host2:port2/service2 ... -> localhost:port

Todos os hosts / portas remotos podem ser acessados a partir do mesmo localhost: port.

As solicitações devem ser encaminhadas com base nos caminhos:

localhost:port/service1 -> host1:port1/service1 
localhost:port/service2 -> host2:port2/service2
    
por Datageek 05.11.2014 / 16:31

1 resposta

1

um proxy reverso http funcionará, assim como a configuração do apache com o mod_proxy ativado.

Listen port
ProxyPass /service1 http://host1:port1/service1
ProxyPass /service2 http://host1:port1/service2

despachando localhost: port / service1 e localhost: port / service2 envolve conhecimento do protocolo http. o serviço não é diferenciado na camada tcp, mas uma solicitação http get. Eu não estou ciente de que socat pode lidar com isso.

    
por 23.01.2015 / 16:25