Die mod_ssl
-Modul bietet Unterstützung für SSL v3 und TLS v1.x für den Apache HTTP-Server. Dieser Artikel bietet Ihnen eine grundlegende Schritt-für-Schritt-Anleitung für mod_ssl
Konfiguration auf RHEL 8 / CentOS 8 Linux-Server mit httpd
Apache-Webserver.
In diesem Tutorial lernen Sie:
- So installieren Sie
mod_ssl
- So aktivieren Sie
mod_ssl
- So erstellen Sie ein selbstsigniertes Zertifikat
- So binden Sie ein vorhandenes SSL-Zertifikat in
httpd
ein Konfiguration - So leiten Sie den gesamten Nicht-SSL-HTTP-Datenverkehr auf HTTPS um
Einfaches
mod_ssl
Modulkonfiguration auf RHEL 8 / CentOS 8 mit Apache Webserver Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | RHEL 8 / CentOS 8 |
Software | mod_ssl-2.4.35-6.el8 |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Anleitung zum Installieren von mod_ssl unter RHEL 8 / CentOS 8 Schritt für Schritt
In diesem Artikel wird davon ausgegangen, dass Sie bereits eine grundlegende Installation und Konfiguration des Apache-Webservers auf Ihrem RHEL 8 / CentOS 8-Server durchgeführt haben.
- Installieren Sie
mod_ssl
module.Der erste Schritt ist die Installation vonmod_ssl
Modul mitdnf
Befehl:# dnf install mod_ssl
- Aktiviere
mod_ssl
Modul. Falls Sie gerademod_ssl
installiert haben , ist das Modul möglicherweise noch nicht aktiviert. Um zu testen, obmod_ssl
aktiviert ist, führen Sie Folgendes aus:# apachectl -M | grep ssl
Falls Sie keine Ausgabe des obigen Befehls sehen, ist Ihr
mod_ssl
ist nicht aktiviert. Um denmod_ssl
zu aktivieren Modul starten Sie Ihrenhttpd
neu Apache-Webserver:# systemctl restart httpd # apachectl -M | grep ssl ssl_module (shared)
- Öffnen Sie TCP-Port 443, um eingehenden Datenverkehr mit
https
zuzulassen Protokoll:# firewall-cmd --zone=public --permanent --add-service=https success # firewall-cmd --reload success
HINWEIS
Zu diesem Zeitpunkt sollten Sie über das HTTPS-Protokoll auf Ihren Apache-Webserver zugreifen können. Navigieren Sie in Ihrem Browser zuhttps://your-server-ip
oderhttps://your-server-hostname
ummod_ssl
zu bestätigen Konfiguration. - SSL-Zertifikat generieren. Falls Sie noch kein geeignetes SSL-Zertifikat für Ihren Server besitzen, verwenden Sie den folgenden Befehl, um ein neues selbstsigniertes Zertifikat zu generieren.
Lassen Sie uns zum Beispiel ein neues selbstsigniertes Zertifikat für Host
rhel8
generieren mit Ablauf von 365 Tagen:# openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt Generating a RSA private key ................+++++ ..........+++++ writing new private key to '/etc/pki/tls/private/httpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:AU State or Province Name (full name) []: Locality Name (eg, city) [Default City]: Organization Name (eg, company) [Default Company Ltd]:LinuxConfig.org Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:rhel8 Email Address []:
Nach erfolgreicher Ausführung des obigen Befehls werden die folgenden zwei SSL-Dateien erstellt:
# ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt -rw-r--r--. 1 root root 1269 Jan 29 16:05 /etc/pki/tls/certs/httpd.crt -rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key
- Konfigurieren Sie den Apache-Webserver mit neuen SSL-Zertifikaten.Um Ihr neu erstelltes SSL-Zertifikat in die Apache-Webserver-Konfiguration aufzunehmen, öffnen Sie
/etc/httpd/conf.d/ssl.conf
Datei mit Administratorrechten und ändern Sie die folgenden Zeilen:FROM: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key TO: SSLCertificateFile /etc/pki/tls/certs/httpd.crt SSLCertificateKeyFile /etc/pki/tls/private/httpd.key
Sobald Sie fertig sind, laden Sie
httpd
neu Apache-Webserver:# systemctl reload httpd
- Testen Sie Ihr
mod_ssl
Konfiguration, indem Sie im Webbrowser zuhttps://your-server-ip
navigieren oderhttps://your-server-hostname
URL. - Als optionalen Schritt leiten Sie den gesamten HTTP-Datenverkehr an HTTPS.T um. Erstellen Sie dazu eine neue Datei
/etc/httpd/conf.d/redirect_http.conf
mit folgendem Inhalt:<VirtualHost _default_:80> Servername rhel8 Redirect permanent / https://rhel8/ </VirtualHost>
Um die Änderung zu übernehmen, laden Sie
httpd
neu Dämon:# systemctl reload httpd
Die obige Konfiguration leitet jeden eingehenden Datenverkehr von
http://rhel8
um zuhttps://rhel8
URL. Weitere Informationen zur TLS/SSL-Konfiguration auf einem RHEL-Linux-Server finden Sie in unserem Leitfaden zum Einrichten von SSL/TLS mit Apache httpd auf Red Hat.