Apache leitet HTTP nicht auf HTTPS um

Apache leitet HTTP nicht auf HTTPS um

Wenn ich die Nicht-SSL-URL meiner Website "cms00.example.com" in meinen Browser eingebe, erfolgt keine Weiterleitung zuhttps://cms00.example.com. Wenn ich die HTTP-Adresse eingebe, kann ich die Site sehen, und wenn ich die HTTPS-Adresse eingebe, kann ich die Site sehen. Ich bekomme die Umleitung von http auf https einfach nicht hin. Ich habe zahlreiche Artikel darüber gelesen, wie das geht, und alle Vorschläge ausprobiert, aber meine Konfiguration funktioniert immer noch nicht. Ich verwende Apache 2.4.10 unter Debian 8 und arbeite zum ersten Mal mit Apache.

Ich habe diese beiden Befehle ausgeführt und überprüft, ob die Rewrite- und SSL-Module geladen wurden:

sudo a2emod rewrite   # <- already enabled
sudo a2emod ssl       # <- already enabled

Ich habe keine Änderungen an /etc/apache2/apache2.conf vorgenommen und keine zusätzlichen .htaccess-Dateien erstellt.

Hier ist meine Konfigurationsdatei:

# /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html

<VirtualHost *:80>
  ServerName cms00.example.com
  DocumentRoot "/var/www/html"
  Redirect permanent / https://cms00.example.com
</VirtualHost>

<VirtualHost *:443>
  ServerName cms00.example.com
  DocumentRoot "/var/www/html"

  SSLEngine on
  SSLCipherSuite AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3
  SSLHonorCipherOrder On
  SSLCompression off
  SSLCertificateFile /etc/apache2/ssl/example.com.crt
  SSLCertificateKeyFile /etc/apache2/ssl/private/example.com.key

  <Directory "/var/www/html">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

Antwort1

Ich habe das Problem gelöst. Folgendes ist los: /etc/apache2/apache2.conf enthält einen Aufruf aller Konfigurationsdateien, die symbolische Links in /etc/apache2/sites-enabled haben. Da es in diesem Verzeichnis einen symbolischen Link gab, der auf /etc/apache2/sites-available/000-default.conf verwies, wurde diese letztere Konfigurationsdatei geladen und überschrieb die Blöcke und Anweisungen in meiner vhosts.conf-Datei. Nachdem ich diesen symbolischen Link gelöscht hatte, konnten meine vhosts.conf-Einstellungen wirksam werden. Die Lektion für mich war, dass jede Datei, die einen symbolischen Link in sites-enabled hat, aktiviert wird.

verwandte Informationen