Eu tenho uma configuração da seguinte forma:
Servidor Linux (OpenVZ) com IP interno 10.10.0.4
- Recipiente (10.10.0.5)
- Recipiente (10.10.0.6)
Devido ao espaço limitado de IP, só tenho um IP público mapeado para o servidor principal .4
192.168.1.2 = > 10.10.0.4 no lado da rede.
Agora, no host principal, o .4, tenho o apache executando conexões aceitáveis na porta 80, etc. Com o mod_proxy para ter hosts virtuais como esse:
<VirtualHost 10.10.0.4:80 192.168.1.2>
ServerAdmin [email protected]
ServerName host.example.com
ServerAlias ct1.host.example.com
ProxyPass / http://10.10.0.5/
ProxyPassReverse / http://10.10.0.5/
</VirtualHost>
E há uma configuração de DNS do wild card para que * .host.example.com seja mapeado para 192.168.1.2. No container, um vhost padrão como esse é o setup:
<VirtualHost 10.10.0.5:80 *:80>
ServerName ct1.host.example.com
ServerAlias ct1.host.example.com
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
</Directory>
Options Indexes FollowSymLinks
ErrorLog /var/logs/error_log
CustomLog /var/logs/access_log common </VirtualHost>
Isso funciona bem - no entanto, todos os sites como Joomla, etc, usam alguma maneira inversa de encontrar o relatório de nome do servidor 10.10.0.5 em vez de ct1.host.example.com que eu preciso, pois isso precisa trabalhar fora do local rede. Claro que posso descobrir o código de cada uma dessas implementações, mas isso não resolve o problema que está apenas aplicando um band-aid. Eu estou em uma perda para o porquê isso está relatando o ip local de contêineres em vez do hostname.
Eu também tentei a seguinte configuração:
/ etc / hosts (em .4)
10.10.0.5 ct1.host.example.com
Então, o seguinte no vHost:
ProxyPass / http://ct1.host.example.com
ProxyPassReverse / http://ct1.host.example.com
No entanto, isso não produz nada de diferente. Há mais alguma coisa que eu preciso configurar no contêiner - talvez algum DNS, ou realmente criar DNS interno para esses IPs?
Obrigado!