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.