Installation eines SSL-Zertifikats auf einem Apache2-Server
Sie können das SSL-Zertifikat auf dem Apache-Server installieren, damit der Apache-Server sicheren HTTPS-Zugriff unterstützt. Dieser Artikel beschreibt, wie Sie ein SSL-Zertifikat auf einem Apache-Server installieren.
Die Apache-Version in diesem Dokument wird am Beispiel von Apache/2.4.58(ubuntu) dargestellt.
Stellen Sie vor der Installation sicher, dass Port 443 nicht belegt ist. Wenn Port 443 bereits verwendet wird, binden Sie bei der Zertifikatsinstallation einen anderen Port.
Zertifikat beziehen
- Nach der Ausstellung des Zertifikats erhalten Sie die Zertifikatsdateien im komprimierten Format (.zip). Das Zip-Paket enthält vier Ordner, die jeweils vier Zertifikatsformaten entsprechen: Tomcat, Nginx, IIS, Apache. Der Apache-Server benötigt das Zertifikat aus dem Apache-Ordner.
- Der Apache-Ordner enthält drei Dateien:
domain_com.crtZertifikatsdateidomain_com.keyDatei mit privatem Schlüsseldomain_com.ca-bundleZertifikatskettendatei
SSL-Zertifikat installieren
- Kopieren Sie die abgerufene Zertifikatsdatei
domain_com.crt, die Datei mit privatem Schlüsseldomain_com.keyund die Zertifikatskettendateidomain_com.ca-bundleaus dem lokalen Verzeichnis in das Verzeichnis/etc/apache2/ssldes Apache-Servers. Hinweis:
- Falls das Verzeichnis
/etc/apache2/sslnicht existiert, kann es mit dem Befehlmkdir -p /etc/apache2/sslerstellt werden - Zwischen verschiedenen Versionen kann es Unterschiede geben; bei einigen Apache-Installationen lautet das Verzeichnis möglicherweise
/etc/httpd
- Da Apache nur die Konfigurationsdateien in
sites-enabledliest, muss ein symbolischer Link eingerichtet werden
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
- Bearbeiten Sie die Datei
/etc/apache2/sites-available/default-ssl.confund ändern Sie den folgenden Inhalt:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>
Ändern Sie die Konfigurationsdatei, speichern Sie sie und führen Sie den folgenden Befehl aus:
a2enmod ssl #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效
SSL-Zertifikat testen
Geben Sie in die Adresszeile des Browsers die Domain ein, an die das SSL-Zertifikat gebunden ist, um zu testen, ob Ihr SSL-Zertifikat erfolgreich installiert wurde. Bei Erfolg zeigt die Adresszeile des Browsers ein Vorhängeschloss-Symbol an. Klicken Sie darauf, um die Zertifikatsinformationen einzusehen.

Sicherheitskonfiguration für automatische HTTP-zu-HTTPS-Weiterleitung (optional)
Wenn Sie HTTP-Anfragen automatisch auf HTTPS umleiten möchten, können Sie dies wie folgt einrichten:
- Geben Sie in der Befehlszeile
a2enmod rewriteein, um das Weiterleitungsmodul zu aktivieren. - Öffnen Sie dann die HTTP-Konfigurationsdatei, z. B.
/etc/apache2/sites-available/000-default.conf, und fügen Sie in der Konfigurationsdatei Folgendes hinzu:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
- Starten Sie den Apache-Server neu, um über den Domänennamen darauf zuzugreifen und die automatische Weiterleitung von HTTP zu HTTPS zu realisieren.