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;
}
}
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>
- Apache 2.4.8 ve üzeri sürümlerde sertifika zinciri doğrudan
SSLCertificateFiledosyasına birleştirilebilir; bu durumdaSSLCertificateChainFileatlanabilir ve clmBot kurulum noktasındakica_pathbuna göre boş bırakılır. - Hizmet adı dağıtıma göre seçilir: RHEL/CentOS için
httpd, Debian/Ubuntu içinapache2.
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
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.