So leiten Sie HTTP auf HTTPS auf Apache um
HTTP (Hyper Text Transfer Protocol) ist ein beliebtes und grundlegendes Protokoll für die Datenkommunikation im World Wide Web (WWW); In der Regel zwischen einem Webbrowser und dem Server, auf dem Webdateien gespeichert sind. Während HTTPS die sichere Version von HTTP ist, wobei das "S" am Ende für "Secure" steht.
Mittels HTTPS werden alle Daten zwischen Ihrem Browser und dem Webserver verschlüsselt und somit sicher verschlüsselt. Dieses Tutorial zeigt Ihnen, wie Sie HTTP auf dem Apache HTTP-Server unter Linux auf HTTPS umleiten.
Bevor Sie eine Apache HTTP-zu-HTTPS-Umleitung für Ihre Domain einrichten können, stellen Sie sicher, dass Sie das SSL-Zertifikat installiert haben und mod_rewrite in Apache aktiviert ist. Weitere Informationen zum Einrichten von SSL in Apache finden Sie in den folgenden Anleitungen.
- So erstellen Sie selbstsignierte SSL-Zertifikate und -Schlüssel für Apache
- So installieren Sie das Let's Encrypt SSL-Zertifikat unter CentOS/RHEL 7
- So installieren Sie das Let's Encrypt SSL-Zertifikat auf Debian/Ubuntu
Leiten Sie HTTP auf HTTPS auf Apache mithilfe der .htaccess-Datei um
Stellen Sie für diese Methode sicher, dass mod_rewrite aktiviert ist, andernfalls aktivieren Sie sie wie folgt auf Ubuntu/Debian-Systemen.
$ sudo a2enmod rewrite [Ubuntu/Debian]
CentOS/RHEL-Benutzer stellen sicher, dass die folgende Zeile in httpd.conf vorhanden ist (mod_rewrite Unterstützung – standardmäßig aktiviert).
LoadModule rewrite_module modules/mod_rewrite.so
Jetzt müssen Sie nur noch die .htaccess-Datei in Ihrem Domain-Stammverzeichnis bearbeiten oder erstellen und diese Zeilen hinzufügen, um http auf https umzuleiten.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/\ [R,L]
Wenn ein Besucher jetzt http://www.yourdomain.com eingibt, leitet der Server HTTP automatisch auf HTTPS https://www.yourdomain.com um.
Umleiten von HTTP zu HTTPS auf dem Apache Virtual Host
Um die Verwendung von HTTPS für den gesamten Webdatenverkehr zu erzwingen, können Sie außerdem Ihre virtuelle Hostdatei konfigurieren. Normalerweise gibt es zwei wichtige Abschnitte einer virtuellen Hostkonfiguration, wenn ein SSL-Zertifikat aktiviert ist. Die erste enthält Konfigurationen für den nicht sicheren Port 80.
Die zweite ist für den sicheren Port 443. Um HTTP für alle Seiten Ihrer Website auf HTTPS umzuleiten, öffnen Sie zuerst die entsprechende virtuelle Hostdatei. Ändern Sie sie dann, indem Sie die folgende Konfiguration hinzufügen.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com
</VirtualHost>
<VirtualHost _default_:443>
ServerName www.yourdomain.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
etc...
</VirtualHost>
Speichern und schließen Sie die Datei, und starten Sie dann den HTTP-Server wie folgt neu.
$ sudo systemctl restart apache2 [Ubuntu/Debian]
sudo systemctl restart httpd [RHEL/CentOS]
Während der <VirtualHost> die am meisten empfohlene Lösung ist, da sie einfacher und sicherer ist.
Vielleicht möchten Sie diese nützliche Auswahl an Artikeln zur Sicherheitshärtung von Apache HTTP-Servern lesen:
- 25 nützliche Apache '.htaccess'-Tricks zum Sichern und Anpassen von Websites
- So schützen Sie Webverzeichnisse in Apache mit der .htaccess-Datei mit einem Passwort
- So verstecken Sie die Apache-Versionsnummer und andere vertrauliche Informationen
- Schützen Sie Apache vor Brute-Force- oder DDoS-Angriffen mit Mod_Security und Mod_evasive
Das ist alles! Um Ihre Gedanken zu diesem Leitfaden mitzuteilen, verwenden Sie das untenstehende Feedback-Formular. Und denken Sie daran, immer mit linux-console.net in Verbindung zu bleiben.