Website-Suche

So verwenden Sie Apache, um den gesamten Datenverkehr von http auf https umzuleiten


Wenn Ihre Website Apache und SSL verwendet, gibt es nicht viele Gründe, HTTP weiterhin mit Ihrer Website zu verwenden. Wenn sowohl HTTP als auch HTTPS verwendet werden, wird nur doppelter Inhalt erstellt, da jetzt jede Seite über zwei technisch unterschiedliche URLs zugänglich ist.

In dieser Anleitung gehen wir davon aus, dass Sie Apache bereits auf einem Linux-System verwenden und den gesamten HTTP-Datenverkehr auf HTTPS umleiten möchten. Dadurch wird sichergestellt, dass alle Ihre Besucher nur über HTTPS eine Verbindung herstellen, indem Sie ihren Browser zwingen, auf das sichere Protokoll umzuschalten, wenn sie zufällig einen HTTP-Link öffnen. Wenn ein Benutzer sich entscheidet, einem Link einen http:// voranzustellen, ist Ihre Website klug genug, ihn trotzdem auf die richtige Seite zu leiten, anstatt doppelten Inhalt anzuzeigen oder einen 404-Fehler anzuzeigen.

Es gibt zwei Möglichkeiten, diese Umleitung in Apache einzurichten. Die bessere Methode besteht darin, den virtuellen Host zu konfigurieren, aber Benutzer mit gehosteten Websites haben möglicherweise keinen Zugriff auf diese Konfiguration. Die zweite Methode besteht darin, einige Änderungen an der .htaccess-Datei vorzunehmen. Im Folgenden finden Sie eine Schritt-für-Schritt-Anleitung für beide Methoden. Fangen wir an.

In diesem Tutorial lernen Sie:

  • So leiten Sie HTTP mit Virtual Host auf HTTPS um
  • So leiten Sie HTTP mit der .htaccess-Datei auf HTTPS um

Umleiten von HTTP-Datenverkehr zu HTTPS in Apache

Umleiten von HTTP zu HTTPS mit virtuellem Host

Unter Ubuntu, Debian und seinen Derivaten finden Sie die Dateien für virtuelle Hosts in /etc/apache2/sites-available. Öffnen Sie die entsprechende Datei in einem Texteditor Ihrer Wahl:


sudo vi /etc/apache2/sites-available/example.conf

Auf RedHat, CentOS, Fedora und anderen Derivaten finden Sie die Konfiguration virtueller Hosts in:


sudo vi /etc/httpd/conf.d

Diese Datei kann unter anderem zur Umleitung von Datenverkehr verwendet werden. Wenn Sie bereits HTTP und HTTPS auf Ihrer Website verwenden, sollten Sie bereits mindestens zwei virtuelle Hosts in der Datei haben – einen für 80 (HTTP) und einen für 443 (HTTPS). Um den HTTP-Datenverkehr umzuleiten, müssen wir die folgende Zeile hinzufügen:


Redirect permanent / https://example.com/

Fügen Sie es irgendwo in der Überschrift <VirtualHost *:80> hinzu, wie im folgenden Beispiel:

Beispiel für eine Konfiguration eines virtuellen Hosts, bei der der HTTP-Datenverkehr auf HTTPS umgeleitet wird

Speichern Sie Ihre Änderungen und beenden Sie diese Datei, wenn Sie fertig sind. Damit die Änderungen wirksam werden, müssen Sie die Apache-Konfiguration mit dem folgenden systemctl-Befehl neu laden:


sudo systemctl reload apache2 # Debian, Ubuntu
OR
sudo systemctl reload httpd # Red Hat, CentOS, Fedora

HTTP mit .htaccess-Datei auf HTTPS umleiten

Wenn Sie keinen Zugriff auf die Konfiguration des virtuellen Hosts haben, ist die .htaccess-Datei Ihre einzige Option. Es befindet sich im Stammverzeichnis Ihrer Website, das unabhängig davon zugänglich sein sollte, welchen Webhost Sie verwenden.

Bearbeiten Sie einfach diese Datei und fügen Sie die folgenden Codezeilen hinzu. Sie können sie einfach am Ende der Datei einfügen.


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

Das ist alles, was dazu gehört. Sie sollten die Änderungen sofort bemerken, wenn Sie zu Ihrer Website navigieren, da Apache nicht neu geladen werden muss, damit diese Änderungen wirksam werden.

Abschließende Gedanken

HTTPS ist definitiv der richtige Weg. In diesem Artikel haben wir gesehen, wie einfach es ist, den gesamten Datenverkehr auf HTTPS umzuleiten und HTTP vollständig loszuwerden. Jede dieser Methoden ist praktikabel, um HTTP-Datenverkehr auf Ihrer Website zu HTTPS zu zwingen.

Verwandte Artikel: