Ana içeriğe geç

Yapılandırma Örnekleri

Bu sayfa, yaygın "ara yazılım × sertifika formatı" kombinasyonları için eksiksiz yapılandırma örnekleri sunar. Her örnek iki bölümden oluşur: hizmet tarafındaki sertifika bağlama yapılandırması ve clmBot'un config.yaml kurulum noktası yapılandırması.

Örneklerdeki yollar yalnızca tanıtım amaçlıdır; gerçek ortamınızdaki yollarla değiştirin. Alanların anlamı için Yapılandırma Referansı bölümüne bakın.

nginx + PEM

Hizmet Tarafı Sertifika Yapılandırması

nginx site yapılandırmasında sertifikayı ssl_certificate ve ssl_certificate_key ile bağlayın:

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;
}
}
Bilgi

nginx, ssl_certificate dosyasının tam sertifika zincirini (site sertifikası + ara sertifika) içermesini gerektirir. Bu nedenle clmBot kurulum noktasında ca_path alanının boş bırakılması önerilir; clmBot tam sertifika zincirini birleştirip cert_path dosyasına yazar.

clmBot Kurulum Noktası Yapılandırması

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

Sunucu Tarafı Sertifika Yapılandırması

Apache site yapılandırmasında SSLCertificateFile gibi yönergelerle sertifikayı bağlayın:

<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>
Bilgi
  • Apache 2.4.8 ve üzeri sürümlerde sertifika zinciri doğrudan SSLCertificateFile dosyasına birleştirilebilir; bu durumda SSLCertificateChainFile atlanabilir ve clmBot kurulum noktasındaki ca_path buna göre boş bırakılır.
  • Hizmet adı dağıtıma göre seçilir: RHEL/CentOS için httpd, Debian/Ubuntu için apache2.

clmBot kurulum noktası yapılandırması

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

Sunucu Tarafı Sertifika Yapılandırması

Tomcat 8.5 ve üzeri sürümlerde conf/server.xml içinde SSLHostConfig aracılığıyla JKS keystore bağlanır:

<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>

clmBot Kurulum Noktası Yapılandırması

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
Bilgi

Tomcat systemd tarafından yönetiliyorsa after_script, systemctl restart <tomcat 服务名> olarak sadeleştirilebilir.

Tomcat + PEM

Sunucu tarafı sertifika yapılandırması

Tomcat 8.5 ve üzeri sürümler PEM dosyalarını doğrudan kullanmayı destekler, JKS'ye dönüştürmeye gerek yoktur:

<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>

clmBot Kurulum Noktası Yapılandırması

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

Özel Hizmet + PFX

Sertifikayı tek dosyalı sertifika paketi (PKCS#12) biçiminde kullanan hizmetler için uygundur; after_script içinde betik şablonu değişkenleri kullanılabilir:

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

Doğrulama

Yapılandırma tamamlandıktan sonra, tüm akışı doğrulamak için bir güncellemeyi manuel olarak tetikleyebilirsiniz:

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

Sertifika dosyalarının güncellendiğini, hizmetin yeniden yüklendiğini ve yeni sertifikanın etkin olduğunu doğruladıktan sonra, otomatik güncellemeyi sertifika güncelleme yöntemine göre yapılandırın.