#!/bin/bash
sudo /.../my-letsencrypt-clone/letsencrypt-auto certonly -v -t --webroot \
-w /var/www/web1/ -d www.domain1.com -d domain1.com -d subdomain.domain1.com \
-w /var/www/web2/ -d web2.com \
-w /var/www/web3/ -d www.web3.com -d web3.com
# คำสั่งพิเศษสองสามคำสั่งเพื่อย้ายใบรับรองที่ต่ออายุ (ใน `/etc/letsencrypt/live/`) ไปที่
# /etc/ssl/private/mycertfolder
sudo บริการ apache2 รีสตาร์ท
บริการ sudo postfix เริ่มต้นใหม่
sudo doveadm โหลดซ้ำ
สคริปต์ด้านบนนี้เป็นสิ่งที่ฉันใช้ในช่วงไม่กี่ปีที่ผ่านมาเพื่อต่ออายุใบรับรองหลายโดเมนเดียวของฉัน แต่ตอนนี้เนื่องจากปัญหาการเลิกใช้งาน (เซิร์ฟเวอร์ของฉันเก่าและการอัปเกรดไม่ใช่ตัวเลือก) ฉันจำเป็นต้องใช้ acme.sh
โดยไม่ต้องเปลี่ยนการตั้งค่าปัจจุบันของฉัน ฉันมีข้อสงสัยบางอย่างแม้ว่า การคาดเดาที่ดีที่สุดของฉันสำหรับการออกและติดตั้งใบรับรองด้วย acme.sh
เป็นคำสั่งสองสามคำสั่งต่อไปนี้ (โดยคาดหวังว่า acme.sh cert-renewal cronjob จะทำสิ่งที่ถูกต้องหลังจากนั้น):
$acme.sh --issue \
-d www.domain1.com -d domain1.com -d subdomain.domain1.com -w /var/www/web1/ \
-d web2.com -w /var/www/web2/ \
-d www.web3.com -d web3.com -w /var/www/web3/
$ acme.sh --install-cert \
-d www.domain1.com -d domain1.com -d subdomain.domain1.com \
-d web2.com \
-d www.web3.com -d web3.com \
--cert-file /etc/ssl/private/mycertfolder/cert.pem \
--key-file /etc/ssl/private/mycertfolder/key.pem \
--fullchain-file /etc/ssl/private/mycertfolder/fullchain.pem \
--reloadcmd "บริการ apache2 รีสตาร์ท บริการ postfix รีสตาร์ท โหลด doveadm"
แต่ฉันไม่แน่ใจในเอกสารว่าคำสั่งนั้นจะออกใบรับรองเดียวสำหรับโดเมนทั้งหมด หรือใบรับรองสามใบ หนึ่งใบสำหรับแต่ละโดเมน -ว
ตัวเลือก. มันไม่ได้ระบุไว้อย่างเคร่งครัดในเอกสาร แต่ฉันเดาว่าแต่ละอย่าง -ว
ระบุวิธีการตรวจสอบ (webroot) สำหรับทั้งหมด -d
s ที่ปรากฏก่อนหน้าและหลังสุดท้าย -ว
คล้ายกับวิธีการทำงานของ Letsencrypt
คำสั่งที่สองของฉันถูกเขียนภายใต้สมมติฐานว่าคำสั่งแรกจะออกใบรับรองเดียวสำหรับโดเมนทั้งหมด แต่ฉันไม่แน่ใจว่าฉันต้องเขียนโดเมนทั้งหมดอีกครั้งหรือไม่ หากมีใบรับรองเพียงรายการเดียวที่เกี่ยวข้อง หรือถ้ามี เป็นสิ่งที่ต้องคำนึงถึงมากขึ้น