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
httpdein 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_sslmodule.Der erste Schritt ist die Installation vonmod_sslModul mitdnfBefehl:# dnf install mod_ssl
- Aktiviere
mod_sslModul. Falls Sie gerademod_sslinstalliert haben , ist das Modul möglicherweise noch nicht aktiviert. Um zu testen, obmod_sslaktiviert ist, führen Sie Folgendes aus:# apachectl -M | grep ssl
Falls Sie keine Ausgabe des obigen Befehls sehen, ist Ihr
mod_sslist nicht aktiviert. Um denmod_sslzu aktivieren Modul starten Sie Ihrenhttpdneu Apache-Webserver:# systemctl restart httpd # apachectl -M | grep ssl ssl_module (shared)
- Öffnen Sie TCP-Port 443, um eingehenden Datenverkehr mit
httpszuzulassen 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-ipoderhttps://your-server-hostnameummod_sslzu 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
rhel8generieren 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.confDatei 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
httpdneu Apache-Webserver:# systemctl reload httpd
- Testen Sie Ihr
mod_sslKonfiguration, indem Sie im Webbrowser zuhttps://your-server-ipnavigieren oderhttps://your-server-hostnameURL. - 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.confmit folgendem Inhalt:<VirtualHost _default_:80> Servername rhel8 Redirect permanent / https://rhel8/ </VirtualHost>Um die Änderung zu übernehmen, laden Sie
httpdneu Dämon:# systemctl reload httpd
Die obige Konfiguration leitet jeden eingehenden Datenverkehr von
http://rhel8um zuhttps://rhel8URL. 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.