Apache ignoriert den zweiten virtuellen Host

Apache ignoriert den zweiten virtuellen Host

Wir verwenden Apache auf einem Ubuntu-Server, um unsere Websites zu hosten. SSL-Zertifikate werden von LetsEncrypt bereitgestellt und in den letzten Jahren hat alles problemlos funktioniert.

Letzten Freitag habe ich versucht, eines der Zertifikate zu erneuern, aber es hat nicht funktioniert. Die Ordner .well-known/acme-challenge werden nicht erstellt. Ich habe in den letzten Tagen mehrere Dinge ausprobiert, aber jetzt ist es noch schlimmer: Wir haben eine Hauptdomäne domain1.de und eine zweite Domäne domain2.com. domain1.de funktioniert einwandfrei mit SSL. domain2.com zeigt jetzt immer die Seite domain1.de an.

Die Konfigurationsdateien sind für domain1.de:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain1.de
ServerAlias www.domain1.de
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

und SSL:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    ServerName domain1.de
    ServerAlias www2.domain1.de
    
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/www2.domain1.de/cert.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/www2.domain1.de/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/www2.domain1.de/fullchain.pem
    
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
         SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>
</VirtualHost>
</IfModule>

Die Konfigurationsdateien sind für domain2.com:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2.com
ErrorLog ${APACHE_LOG_DIR}/error_journalsuite_com.log
CustomLog ${APACHE_LOG_DIR}/access_journalsuite_com.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =domain2.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

apachectl -S Ausgabe:

root@domain1new /var/www/domain2.com # apachectl -S
VirtualHost configuration:
*:443                  domain1.de (/etc/apache2/sites-enabled/domain1.de-ssl.conf:2)
*:80                   is a NameVirtualHost
         default server domain1.de (/etc/apache2/sites-enabled/domain1.de.conf:1)
         port 80 namevhost domain1.de (/etc/apache2/sites-enabled/domain1.de.conf:1)
                 alias www2.domain1.de
         port 80 namevhost domain2.com (/etc/apache2/sites-enabled/domain2.com.conf:1)
                 alias www.domain2.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Ich habe einige Zeit damit verbracht, hier und auf anderen Websites zu suchen, und bin im Moment ratlos. Irgendwelche Tipps oder Ideen?

Danke

Antwort1

Ihnen fehlt die Konfiguration für HTTPS-Port 443 für domain2.com. Das HTTP mit Port 80 funktioniert. Wenn Sie es mit testen, curl -v http://domain2.comwerden Sie sehen, dass es funktioniert, aber zu https://domain2.com(gemäß Ihrem ) umleitet, das nicht richtig konfiguriert ist und den Standard für die Domäne RewriteRuleverwendet . Wenn Sie mit prüfen, werden Sie sehen, dass es ein TLS-Zertifikat für vorlegt und dies auch für tut .VirtualHost _default_:443domain1.decurl -v -k https://domain2.comdomain1.de301 Redirecthttps://www2.domain1.de/

<VirtualHost *:443>Um Ihr Problem zu lösen, müssen Sie entsprechende ServerName domain2.comSSLEngine-Konfigurationseinstellungen erstellen .

verwandte Informationen