Eu tenho um webapp rodando no CentOS 7 com Apache que usa o xmlhttprequest e fetch apis para acessar um Express Server (NodeJS) rodando na mesma máquina. Meu webapp está usando a porta 80 para conexões de entrada enquanto meu Express Server está escutando na porta 3001.
Ao implantar meu webapp, estou confuso se preciso de um proxy direto ou um proxy reverso para realizar a comunicação com a porta 3001 do Express Server. Qual proxy devo configurar?
Responder1
O que você está descrevendo é um proxy reverso.
Um proxy normal ("forward") atende um cliente ou um conjunto de clientes, permitindo acesso a servidores remotos solicitados pelo cliente.
Um proxy reverso atende qualquer cliente, permitindo acesso a um servidor ou conjunto de servidores.
No entanto, quando você diz que sim need the web app to continue sending [its] typical html response
, o aplicativo da web não está agindo como um proxy e não acredito mais que você tenha ou precise de um proxy reverso ou qualquer tipo de proxy. Se houver código de aplicativo no aplicativo da web em execução na porta 80 que esteja fazendo suas próprias solicitações ao servidor Node.js e interpretando a resposta para fornecer uma resposta ao cliente, então você não tem um proxy, você tem um Servidor front-end Apache e um servidor Node.js back-end. O proxy, no seu diagrama, está entre o servidor front-end e o back-end, é algo diferente do seu servidor front-end Apache.