
Tengo dos servidores que son clones entre sí, salvo algunos cambios menores de configuración. Obtengo un comportamiento inesperado al intentar visitar sus subdominios de monitorización.*.com.
La ejecución ./apache2ctl -S
en cada servidor da lo siguiente:
Servidor provisional
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443 is a NameVirtualHost
default server 010.staging.com (/etc/apache2/sites-enabled/010:2)
port 443 namevhost 010.staging.com (/etc/apache2/sites-enabled/010:2)
port 443 namevhost 011.staging.com (/etc/apache2/sites-enabled/011:2)
port 443 namevhost 013.staging.com (/etc/apache2/sites-enabled/013:2)
*:80 is a NameVirtualHost
default server www.production.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost www.production.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost monitoring.staging.com (/etc/apache2/sites-enabled/monitoring:1)
Syntax OK
Servidor de producción
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443 is a NameVirtualHost
default server de.production.com (/etc/apache2/sites-enabled/de:2)
port 443 namevhost de.production.com (/etc/apache2/sites-enabled/de:2)
port 443 namevhost uk.production.com (/etc/apache2/sites-enabled/uk:2)
port 443 namevhost us.production.com (/etc/apache2/sites-enabled/us:2)
port 443 namevhost www.production.com (/etc/apache2/sites-enabled/production:2)
*:80 is a NameVirtualHost
default server www.production.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost www.production.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost monitoring.production.com (/etc/apache2/sites-enabled/monitoring:1)
Syntax OK
La configuración de 000 predeterminada es la siguiente en ambos servidores
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.production.com
DocumentRoot /home/user/apache/
RewriteEngine on
RewriteLog /var/log/apache2/log
RewriteLogLevel 1
RewriteCond %{REQUEST_URI}/ !^(/server-status).*$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
</VirtualHost>
El problema que tengo es que cuando lo visito, http://monitoring.staging.com
se me redirige http**s**.monitoring.staging.com
y me sirve la aplicación para 010.staging.com
el servidor de puerto seguro predeterminado.
El servidor de producción se comporta como se esperaba y sirve a mi herramienta de monitoreo de aplicaciones.
Como dije, ambos servidores comenzaron como clones de una imagen maestra con solo cambios de configuración menores; puedo describir cambios específicos si es necesario.
¿Alguien puede adivinar por qué veo este comportamiento?
Gracias
Actualizaciones:
Esta es la configuración de Vhost para monitoreo:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName monitoring.staging.com
DocumentRoot /var/www/munin
<Directory /var/www/munin>
Options FollowSymLinks
AllowOverride None
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel notice
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
ServerSignature On
</VirtualHost>
Y para la aplicación que realmente se está publicando:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName 010.staging.com
RewriteLog /var/log/apache2/ssl.log
RewriteRule ^/$ /010/home.htm [R=301,L]
RewriteRule ^/(?!010/|static/|mgt).*$ /010/home.htm [R=301,L]
SSLCertificateKeyFile /etc/apache2/ssl/010/apache.key
SSLCertificateFile /etc/apache2/ssl/010/apache.crt
SSLCACertificateFile /etc/apache2/ssl/010/apache-ca.crt
</VirtualHost>
</IfModule>
Respuesta1
Resolví esto cambiando la 000-default
configuración en la preparación a lo siguiente:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName staging.com
DocumentRoot /home/user/apache/
RewriteEngine on
RewriteLog /var/log/apache2/log
RewriteLogLevel 1
RewriteCond %{REQUEST_URI}/ !^(/server-status).*$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
</VirtualHost>
El cambio es el nombre del servidor de www.production.com a staging.com
No sépor quéEsto solucionó el problema, por lo que estoy más que feliz de marcar la respuesta correcta a cualquiera que pueda explicar el comportamiento y lo que está haciendo Apache.