Estou no processo de migrar alguns aplicativos para um novo servidor de produção.
A ideia é manter as mesmas URLs para os aplicativos definindo as diretivas ProxyPass
e ProxyPassReverse
no servidor de produção antigo.
Configuração no servidor de produção antigo:
<VirtualHost *:80>
ServerName some-url.prod.smething.com
ServerAlias some-url.smething.com
ProxyPreserveHost On
ProxyPass / http://10.XX.XX.XX:10022/
ProxyPassReverse / http://10.XX.XX.XX:10022/
</VirtualHost>
No novo servidor de produção:
<VirtualHost *:80>
ServerName some-url.prod.smething.com
ServerAlias some-url.smething.com
ServerAlias some-url.newprod.smething.com
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:10022/
ProxyPassReverse / http://127.0.0.1:10022/
</VirtualHost>
Eu testei isso com sucesso entre os dois servidores de desenvolvimento, mas não funciona entre os de produção. Eu recebo o seguinte erro:
503 Service Unavailable
e nos registros:
(111)Connection refused: proxy: HTTP: attempt to connect to (10.xx.xx.xx) failed
ap_proxy_connect_backend disabling worker for (10.xx.xx.xx)
Acho que minha configuração do apache na produção está correta porque é o mesmo que no dev.
Procurando por soluções, foi mencionado várias vezes que talvez não funcionasse se as máquinas estivessem em um intervalo de sub-rede diferente. Eu acho que este é o meu caso, mas infelizmente houve uma solução para isso.
Old production server IP: 172.XX.XX.XX
New production server IP: 10.XX.XX.XX
Tem alguma ideia de como posso corrigir este problema?
Tags apache-2.2 rhel6 centos6 proxypass