( 申請的限制說明 Rate Limits )
dehydrated 則是一套能自動由 Let's Encrypt 下載 SSL 憑證的工具,
可以方便的自動化更新 SSL 憑證,免去每三個月要手工更新的麻煩。
dehydrated 安裝筆記
$ git clone https://github.com/lukas2511/dehydrated.git
$ mkdir /etc/dehydrated
$ vi /etc/dehydrated/config
放這兩行
OCSP_MUST_STAPLE=yes
KEYSIZE=2048
$ vi /etc/dehydrated/domains.txt
放入要申請 SSL憑證的網址(可以多行)
www.xyz.com.tw
路徑設定
apache httpd.conf 設定
Alias /.well-known/acme-challenge /var/www/dehydrated 2.4 <Directory /var/www/dehydrated> Options None AllowOverride None Require all granted </Directory> 2.2 <Directory /var/www/dehydrated> Options None Order allow,deny Allow from all </Directory>
第一次執行 需要同意條款:
$ sudo dehydrated --register --accept-terms
產生 SSL 憑證
$ sudo dehydrated -c會放在 /etc/dehydrated/certs/www.xyz.com.tw 目錄下
當 SSL 憑證過期時,再執行這個命令 即可自動更新
/etc/dehydrated/certs/www.xyz.com.tw 會產生 5 個檔案
cert.csr
cert.pem
chain.pem
fullchain.pem (cert.pem + chain.pem)
privkey.pem
****
/etc/dehydrated/domains.txt 檔案中若有很多網址時
但只有一個網址憑證到期
可以只更新單一網站的憑證
sudo dehydrated -c -d www.xyz.com.tw
apache httpd 2.4x設定
httpd.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
extra/httpd-ssl.conf
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
SSLUseStapling on
<VirtualHost *:443>
DocumentRoot "/home/www.xyz.com.tw/htdocs"
ServerName www.xyz.comtw:443
SSLEngine on
SSLCertificateKeyFile /etc/dehydrated/certs/www.xyz.com.tw/privkey.pem
SSLCertificateFile /etc/dehydrated/certs/www.xyz.com.tw/fullchain.pem
# 特別注意
# /etc/dehydrated/certs/* 的檔案是只有 root 才能讀取
# 要確定 httpd 有權限讀的到 /etc/dehydrated/certs/ 這個目錄
# 不行讀的話 就將裏頭的檔案複製到別的地方, 並 chmod a+r *
</VirtualHost>
#另外 加入2行 來啟用 OCSP
#不然 Firefox 會出現 MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING
#似乎是放了 Let's encrypt 憑證就會有此問題,改用其他付費的憑證就沒問題 2020/3/10
<IfModule ssl_module>
::
::
#SSLStaplingResponderTimeout 5
#SSLStaplingReturnResponderErrors off
SSLUseStapling on ##(default off)
SSLStaplingCache shmcb:logs/stapling_cache(128000)
</IfModule>
Firefox 會出現 MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING
nginx 解決 (付費購買的憑證,就不需這兩行)
加上兩行即可:
ssl_stapling on;
ssl_stapling_verify on;
如:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name xxx.com.tw; ssl_certificate "/xxxx/fullchain.pem"; ssl_certificate_key "/xxxx/privkey.pem"; :: ssl_stapling on; ssl_stapling_verify on; :: :: }
這裡可以檢測網站是否有啟用 OCSP 以及其它 SSL 狀況
DigiCert® SSL Installation Diagnostics Tool
apache traffic server 設定
ssl_multicert.config
dest_ip=* ssl_cert_name=fullchain.pem ssl_key_name=privkey.pem
records.conf 啟用 OCSP
CONFIG proxy.config.ssl.ocsp.enabled INT 1
以 dehydrated 下載的 Let's Encrypt SSL 憑證檔案
裝到 Traffic Server 7 / restart 後
Firefox 瀏覽網站會出現 MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING
但其他瀏覽器都無問題 (包括 Chrome / edge / Macos Safari / iPhone Safari / Android Chome)
怪的是,再等一分鐘後 Firefox 就能正常連上 https 網站
修改這個 ( default 60 secs)
CONFIG proxy.config.ssl.ocsp.update_period INT 10
其它 OCSP 相關的參數
CONFIG proxy.config.ssl.ocsp.request_timeout INT 10
CONFIG proxy.config.ssl.ocsp.cache_timeout INT 3600
----
其它參考
OCSP & CRL 介紹
HTTPS connection fails with "MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING"
How To Configure OCSP Stapling on Apache and Nginx
Check the Revocation Lists (CRL) and the OCSP status of an (SSL) Certificate
OCSP stapling error firefox