Ich habe Apache in RHEL 6 installiert. Alles funktioniert einwandfrei. Was sollten alle Änderungen und Konfigurationen vorgenommen werden, um
https: // localhost: 443 / zu verwenden .
Wenn ich "Listen 80" auf 443 ändere, wird ein SSL-Verbindungsfehler ausgegeben
Wenn Sie verwenden apache2, müssen Sie Folgendes tun:
Schritt 1: Verwenden Sie OpenSSL, um die Schlüssel zu erstellen, mit denen Ihre Site gesichert wird. Diese Schlüssel werden zum Ver- und Entschlüsseln des Datenverkehrs zu Ihrer sicheren Site verwendet.
$ openssl genrsa -out mydomain.key 1024
Dieser Befehl erstellt einen privaten 1024-Bit-Schlüssel und legt ihn in der Datei mydomain.key ab.
Die ersten drei Zeilen sind nicht erforderlich. 1. NameVirtualHostist veraltet und wird in zukünftigen Versionen von Apache entfernt. Es ist derzeit bereits ein No-Op. 2. Listen 443kann Probleme verursachen, wenn Apache bereits so konfiguriert ist, dass es Port 443 überwacht, was bei vielen Linux-Distributionen bereits der Fall ist. Fügen Sie nur hinzu, wenn Sie sicher sind, dass diese Zeile an keiner anderen Stelle konfiguriert ist.
Lanoxx
3
Wechseln Sie nicht Listen 80zu 443in /etc/httpd/conf/httpd.conf. SSL ist in konfiguriert /etc/httpd/conf.d/ssl.conf. Unter RHEL 6 ist SSL aktiviert und überwacht standardmäßig mit einem selbstsignierten Zertifikat.
Sie können mit SSL zur Standardwebsite gelangen, indem Sie einfach zu navigieren https://localhost(Sie müssen den Port nicht am Ende der URL hinzufügen).
Wenn Sie alle HTTP-Anforderungen an HTTPS weiterleiten möchten (was Sie meiner Meinung nach erreichen möchten), können Sie entweder eine permanente Umleitung hinzufügen oder das Apache-Modul verwenden mod_rewrite.
Am einfachsten und sichersten ist es, eine permanente Weiterleitung einzurichten. Aktivieren Sie benannte virtuelle Hosts und fügen Sie Redirectdem VirtualHost in eine Direktive hinzu /etc/httpd/conf/httpd.conf.
Mit mod_rewriteerstellen Sie auch einen benannten virtuellen Host. Dies ist nicht die empfohlene Methode, funktioniert aber.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Wenn Sie SSL deaktivieren möchten, kommentieren Sie diese Zeilen aus /etc/httpd/conf.d/ssl.confund starten Sie Apache neu.
Wenn Sie das Paket mod_ssl für RHEL6 hinzufügen, wird eine /etc/httpd/conf.d/ssl.conf erstellt, die das Modul lädt und <VirtualHost _default_:443>mit allen erforderlichen Parametern jeweils Kommentare enthält. Das mod_sslPaket wird nicht automatisch installiert, wenn Sie das httpdPaket installiert haben .
jsbillings
1
Ich möchte Ihrem Umschreiben nur eines hinzufügen: Verwenden Sie [R=301,L]statt nur [R,L], auf diese Weise verwendet das Umschreiben die permanente Option der HTTP 3xx- Statuscodes.
NameVirtualHost
ist veraltet und wird in zukünftigen Versionen von Apache entfernt. Es ist derzeit bereits ein No-Op. 2.Listen 443
kann Probleme verursachen, wenn Apache bereits so konfiguriert ist, dass es Port 443 überwacht, was bei vielen Linux-Distributionen bereits der Fall ist. Fügen Sie nur hinzu, wenn Sie sicher sind, dass diese Zeile an keiner anderen Stelle konfiguriert ist.Wechseln Sie nicht
Listen 80
zu443
in/etc/httpd/conf/httpd.conf
. SSL ist in konfiguriert/etc/httpd/conf.d/ssl.conf
. Unter RHEL 6 ist SSL aktiviert und überwacht standardmäßig mit einem selbstsignierten Zertifikat.Sie können mit SSL zur Standardwebsite gelangen, indem Sie einfach zu navigieren
https://localhost
(Sie müssen den Port nicht am Ende der URL hinzufügen).Wenn Sie alle HTTP-Anforderungen an HTTPS weiterleiten möchten (was Sie meiner Meinung nach erreichen möchten), können Sie entweder eine permanente Umleitung hinzufügen oder das Apache-Modul verwenden
mod_rewrite
.Am einfachsten und sichersten ist es, eine permanente Weiterleitung einzurichten. Aktivieren Sie benannte virtuelle Hosts und fügen Sie
Redirect
dem VirtualHost in eine Direktive hinzu/etc/httpd/conf/httpd.conf
.Mit
mod_rewrite
erstellen Sie auch einen benannten virtuellen Host. Dies ist nicht die empfohlene Methode, funktioniert aber.Wenn Sie SSL deaktivieren möchten, kommentieren Sie diese Zeilen aus
/etc/httpd/conf.d/ssl.conf
und starten Sie Apache neu.quelle
<VirtualHost _default_:443>
mit allen erforderlichen Parametern jeweils Kommentare enthält. Dasmod_ssl
Paket wird nicht automatisch installiert, wenn Sie dashttpd
Paket installiert haben .[R=301,L]
statt nur[R,L]
, auf diese Weise verwendet das Umschreiben die permanente Option der HTTP 3xx- Statuscodes.