2022/06/06

acmesh

因原本使用的 Let's Encrypt 提供的 certbot,在舊版的 CentOS 7 會遇到 python 及 kernel 更新的問題,現在改用 GitHub - acmesh-official/acme.sh: A pure Unix shell script implementing ACME client protocol 做免費的 SSL 憑證。

安裝,會安裝到 /root/.acme.sh

curl https://get.acme.sh | sh -s email=charley@maxkit.com.tw

設定自動更新 acme.sh

acme.sh --upgrade --auto-upgrade

在 crontab 可發現自動更新的 script

# crontab -e
59 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

申請 zone.larzio.com 的憑證

acme.sh --issue -d zone.larzio.com --webroot /var/www/html/

申請成功後,憑證相關檔案會在

  • 憑證 /root/.acme.sh/zone.larzio.com/zone.larzio.com.cer

  • key /root/.acme.sh/zone.larzio.com/zone.larzio.com.key

  • intermediate ca cert /root/.acme.sh/zone.larzio.com/ca.cer

  • full chain certs /root/.acme.sh/zone.larzio.com/fullchain.cer

將憑證複製給 haproxy 使用: /etc/haproxy/ssl/server.pem

acme.sh --installcert -d zone.larzio.com \
 --cert-file /etc/haproxy/ssl/zone.larzio.com.cer \
 --key-file /etc/haproxy/ssl/zone.larzio.com.key \
 --fullchain-file /etc/haproxy/ssl/zone.larzio.com.fullchain.cer \
 --reloadcmd "cat /etc/haproxy/ssl/zone.larzio.com.cer /etc/haproxy/ssl/zone.larzio.com.key | tee /etc/haproxy/ssl/server.pem"

References

HAProxy 實現 h2 到 h2c 的解析 - 台部落

Centos7 下使用acme.sh以DNS方式申請免費SSL證書 - 台部落

沒有留言:

張貼留言