Zum Hauptinhalt springen

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.

Hinweis

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​

  1. 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.
  2. Der Apache-Ordner enthält drei Dateien:
  • domain_com.crt Zertifikatsdatei
  • domain_com.key Datei mit privatem Schlüssel
  • domain_com.ca-bundle Zertifikatskettendatei

SSL-Zertifikat installieren​

  1. Kopieren Sie die abgerufene Zertifikatsdatei domain_com.crt, die Datei mit privatem Schlüssel domain_com.key und die Zertifikatskettendatei domain_com.ca-bundle aus dem lokalen Verzeichnis in das Verzeichnis /etc/apache2/ssl des Apache-Servers. Hinweis:
  • Falls das Verzeichnis /etc/apache2/ssl nicht existiert, kann es mit dem Befehl mkdir -p /etc/apache2/ssl erstellt werden
  • Zwischen verschiedenen Versionen kann es Unterschiede geben; bei einigen Apache-Installationen lautet das Verzeichnis möglicherweise /etc/httpd
  1. Da Apache nur die Konfigurationsdateien in sites-enabled liest, muss ein symbolischer Link eingerichtet werden
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
  1. Bearbeiten Sie die Datei /etc/apache2/sites-available/default-ssl.conf und ä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.

SSL-Zertifikat-Effekt

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:

  1. Geben Sie in der Befehlszeile a2enmod rewrite ein, um das Weiterleitungsmodul zu aktivieren.
  2. Ö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>
  1. Starten Sie den Apache-Server neu, um über den Domänennamen darauf zuzugreifen und die automatische Weiterleitung von HTTP zu HTTPS zu realisieren.