Zum Hauptinhalt springen

SSL-Zertifikat auf einem Tomcat-Server installieren (PFX-Format)

Sie können den Tomcat-Server für sichere HTTPS-Zugriffe unterstützen, indem Sie das SSL-Zertifikat auf dem Tomcat-Server installieren. Dieser Artikel beschreibt, wie Sie ein SSL-Zertifikat auf einem Tomcat-Server installieren.

Hinweis

Die Tomcat-Version in diesem Dokument basiert auf tomcat9.0.13 als Beispiel. Stellen Sie vor der Installation sicher, dass Port 443 nicht belegt ist. Falls Port 443 bereits verwendet wird, binden Sie bei der Zertifikatsinstallation einen anderen Port.

Zertifikat beziehen

  1. Nachdem wir das Zertifikat für Sie ausgestellt haben, erhalten Sie eine Zertifikatsdatei im komprimierten Format (.zip). Das komprimierte Paket enthält vier Ordner, die jeweils vier Zertifikatsformaten entsprechen: Tomcat, Nginx, IIS, Apache. Da dieses Dokument die Installation im PFX-Format verwendet, benötigen Sie das Zertifikat im IIS-Ordner. (Die verschiedenen Ordner unterscheiden sich nur im Dateiformat; die Verwendung von Dateien aus anderen Ordnern steht nicht im Konflikt.)
  2. Der IIS-Ordner enthält drei Dateien:
  • domain_com.pfx Zertifikatsdatei
  • domain_com.key Private-Key-Datei
  • password.txt Zertifikatspasswort-Datei

SSL-Zertifikat installieren

  1. Kopieren Sie die erhaltene Zertifikatsdatei domain_com.pfx aus dem lokalen Verzeichnis in das Verzeichnis /usr/tomcat9.0.13/conf auf dem Tomcat-Server. Die Pfadnamen können je nach Tomcat-Version leicht abweichen. Bitte führen Sie die Schritte unter dem Pfad aus, der Ihrem Dienst entspricht.
  2. Bearbeiten Sie die Datei server.xml im Verzeichnis /usr/tomcat9.0.13/conf. Fügen Sie in der Datei server.xml das Attribut Connector mit folgendem Inhalt hinzu:
<Connector port="443"  
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Pfad zum Zertifikat -->
keystoreType="PKCS12"
keystorePass="Zertifikatspasswort" <! -- Bitte durch den Inhalt aus der Datei password.txt ersetzen -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  1. Speichern Sie die Konfigurationsdatei und führen Sie im Verzeichnis bin den folgenden Befehl aus, um zu bestätigen, dass die Konfiguration korrekt ist.
./configtest.sh
  1. Starten Sie Tomcat neu und führen Sie im Verzeichnis bin den folgenden Befehl aus:
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

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 Schloss-Symbol an; klicken Sie darauf, um die Zertifikatsinformationen einzusehen.

SSL-Zertifikat-Ergebnis

Sicherheitskonfiguration für die automatische HTTP-zu-HTTPS-Weiterleitung (optional)

Wenn Sie HTTP-Anfragen automatisch auf HTTPS umleiten möchten, können Sie dies wie folgt einrichten:

  1. Bearbeiten Sie die Datei web.xml im Verzeichnis /usr/tomcat9.0.13/conf und suchen Sie das Tag </welcome-file-list>.
  2. Fügen Sie nach dem End-Tag </welcome-file-list> einen Zeilenumbruch ein und ergänzen Sie den folgenden Inhalt.
<login-config>  
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
  1. Bearbeiten Sie die Datei server.xml im Verzeichnis /usr/tomcat9.0.13/conf und ändern Sie den Parameter redirectPort auf den Port von SSL connector, d. h. Port 443. Wie unten gezeigt:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Speichern Sie die Konfigurationsdatei und führen Sie im Verzeichnis bin den folgenden Befehl aus, um zu überprüfen, ob die Konfiguration korrekt ist.
./configtest.sh
  1. Wenn die Konfiguration keine Probleme aufweist, starten Sie den Tomcat-Server neu, um über die Domain darauf zuzugreifen und eine automatische Weiterleitung von HTTP auf HTTPS zu erreichen.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器