Zum Hauptinhalt springen

Konfigurationsbeispiele

Diese Seite bietet vollständige Konfigurationsbeispiele für gängige Kombinationen aus „Middleware × Zertifikatsformat“. Jedes Beispiel umfasst zwei Teile: die Zertifikatsmontagekonfiguration auf der Dienstseite sowie die config.yaml-Installationspunktkonfiguration für clmBot.

Die Pfade in den Beispielen sind Demonstrationswerte. Ersetzen Sie sie durch die Pfade in der tatsächlichen Umgebung. Die Bedeutung der Felder finden Sie in der Konfigurationsreferenz.

nginx + PEM​

Zertifikatskonfiguration auf der Dienstseite​

Montieren Sie das Zertifikat in der nginx-Site-Konfiguration über ssl_certificate und ssl_certificate_key:

server {
listen 443 ssl;
server_name example.com;

ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;

location / {
root /usr/share/nginx/html;
}
}
Informationen

nginx erfordert, dass die Datei ssl_certificate die vollständige Zertifikatskette (Website-Zertifikat + Zwischenzertifikat) enthält. Daher wird empfohlen, ca_path im clmBot-Installationspunkt leer zu lassen. clmBot schreibt die vollständige Zertifikatskette zusammengeführt in cert_path.

Konfiguration des clmBot-Installationspunkts​

servers:
- id: nginx_pem
sub_code: <证书订阅号>
format:
pem:
cert_path: /etc/nginx/ssl/example.com.crt
ca_path: ""
key_path: /etc/nginx/ssl/example.com.key
after_script: |
nginx -t && nginx -s reload

Apache + PEM​

Serverseitige Zertifikatskonfiguration​

Binden Sie das Zertifikat in der Apache-Site-Konfiguration über Direktiven wie SSLCertificateFile ein:

<VirtualHost *:443>
ServerName example.com

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/example.com.key
SSLCertificateChainFile /etc/httpd/ssl/example.com.ca.crt
</VirtualHost>
Informationen
  • Apache 2.4.8 und höher kann die Zertifikatskette auch direkt in die Datei SSLCertificateFile integrieren. In diesem Fall kann SSLCertificateChainFile entfallen, und das Feld ca_path im clmBot-Installationspunkt bleibt entsprechend leer.
  • Der Dienstname richtet sich nach der Distribution: Bei RHEL/CentOS lautet er httpd, bei Debian/Ubuntu apache2.

Konfiguration des clmBot-Installationspunkts​

servers:
- id: apache_pem
sub_code: <证书订阅号>
format:
pem:
cert_path: /etc/httpd/ssl/example.com.crt
ca_path: /etc/httpd/ssl/example.com.ca.crt
key_path: /etc/httpd/ssl/example.com.key
after_script: |
apachectl configtest && systemctl restart httpd.service

Tomcat + JKS​

Serverseitige Zertifikatskonfiguration​

Tomcat 8.5 und neuere Versionen binden den JKS-Keystore über SSLHostConfig in conf/server.xml ein:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/opt/tomcat/conf/example.com.jks"
certificateKeystorePassword="<keystore密码>"
certificateKeyAlias="tomcat"
certificateKeyPassword="<私钥密码>"
type="RSA" />
</SSLHostConfig>
</Connector>

Konfiguration des clmBot-Installationspunkts​

servers:
- id: tomcat_jks
sub_code: <证书订阅号>
format:
jks:
path: /opt/tomcat/conf/example.com.jks
alias: tomcat
key_pass: <私钥密码>
store_pass: <keystore密码>
after_script: |
export JAVA_HOME=/usr/java
/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh
Information

Wenn Tomcat von systemd verwaltet wird, kann after_script zu systemctl restart <tomcat 服务名> vereinfacht werden.

Tomcat + PEM​

Zertifikatskonfiguration auf der Serverseite​

Tomcat 8.5 und höhere Versionen unterstützen die direkte Verwendung von PEM-Dateien, ohne Konvertierung in JKS:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeyFile="/opt/tomcat/ssl/example.com.key"
certificateFile="/opt/tomcat/ssl/example.com.crt"
certificateChainFile="/opt/tomcat/ssl/example.com.ca.crt"
type="RSA" />
</SSLHostConfig>
</Connector>

Konfiguration des clmBot-Installationspunkts​

servers:
- id: tomcat_pem
sub_code: <证书订阅号>
format:
pem:
cert_path: /opt/tomcat/ssl/example.com.crt
ca_path: /opt/tomcat/ssl/example.com.ca.crt
key_path: /opt/tomcat/ssl/example.com.key
after_script: |
export JAVA_HOME=/usr/java
/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh

Benutzerdefinierter Dienst + PFX​

Geeignet für Dienste, die Zertifikate als einzelne Zertifikatsdatei (PKCS#12) verwenden. after_script kann Skriptvorlagenvariablen verwenden:

servers:
- id: app_pfx
sub_code: <证书订阅号>
format:
pfx:
path: /opt/app/ssl/example.com.pfx
key_pass: <PFX密码>
after_script: |
echo "certificate updated at {{ .DATETIME }}"
/usr/bin/systemctl restart example-app.service

Verifizierung​

Nach Abschluss der Konfiguration können Sie einmalig eine Aktualisierung manuell auslösen, um den gesamten Ablauf zu verifizieren:

./clm-bot-linux-amd64 update-certificate

Nachdem Sie bestätigt haben, dass die Zertifikatsdatei aktualisiert wurde, der Dienst neu geladen wurde und das neue Zertifikat wirksam ist, konfigurieren Sie die automatische Aktualisierung gemäß Zertifikatsaktualisierungsmethode.