
Ich habe zwei Server, die bis auf ein paar kleine Konfigurationsänderungen Klone voneinander sind. Beim Versuch, ihre Subdomänen „monitoring.*.com“ zu besuchen, tritt unerwartetes Verhalten auf.
Die Ausführung ./apache2ctl -S
auf jedem Server führt zu Folgendem:
Staging-Server
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
Produktionsserver
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
Die Konfiguration von 000-default ist auf beiden Servern wie folgt
<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>
Mein Problem besteht darin, dass http://monitoring.staging.com
ich beim Besuch auf die Seite umgeleitet werde und die App für den standardmäßigen sicheren Portserver http**s**.monitoring.staging.com
bereitgestellt bekomme .010.staging.com
Der Produktionsserver verhält sich wie erwartet und stellt mein Anwendungsüberwachungstool bereit.
Wie gesagt begannen diese beiden Server als Klone eines Master-Image mit nur sehr geringfügigen Konfigurationsänderungen. Bei Bedarf kann ich spezifische Änderungen beschreiben.
Kann irgendjemand eine Vermutung wagen, warum dieses Verhalten bei mir auftritt?
Danke
Aktualisierung:
Dies ist die Vhost-Konfiguration für die Überwachung:
<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>
Und für die App, die tatsächlich bereitgestellt wird:
<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>
Antwort1
Ich habe dies gelöst, indem ich die 000-default
Konfiguration beim Staging wie folgt geändert habe:
<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>
Die Änderung betrifft den Servernamen von www.production.com zu staging.com.
Ich weiß nichtWarumDadurch wurde das Problem behoben, und ich gebe jedem, der das Verhalten und die Vorgehensweise von Apache erklären kann, gern ein Häkchen für die richtige Antwort.