ฉันหวังว่าจะมีคนตอบสนองความอยากรู้อยากเห็นของฉันว่า certbot และ nginx โต้ตอบกันอย่างไรในช่วงเวลาต่ออายุ
บนโฮสต์ Linux ของฉัน ฉันตั้งค่า certbot และปลั๊กอิน certbot-nginx
ฉันตั้งค่าคำจำกัดความของไซต์ nginx ปกติใน /etc/nginx/conf.d และเมื่อลงทะเบียนใบรับรอง ปลั๊กอิน certbot-nginx ได้เพิ่มข้อมูล TLS ให้กับไฟล์ nginx conf แต่ละไฟล์สำหรับไซต์ต่างๆ ของฉัน
หากต้องการต่ออายุ ฉันมีสิ่งต่อไปนี้ในบริการ systemd ที่เรียกใช้วันละครั้ง :
/bin/certbot ต่ออายุ --ไม่โต้ตอบ --agree-tos --no-self-upgrade --post-hook "systemctl โหลด nginx"
เมื่อดูที่บันทึก systemd ด้วย journalctl ฉันเห็นว่ามีการอัปเดตใบรับรองตามความเหมาะสม
มันใช้งานได้ แต่มันรบกวนฉันที่ฉันไม่พบสิ่งใดในการกำหนดค่าของฉันที่บอก nginx เพื่อให้คำขอผ่าน '.well-known/acme-challenge' สำหรับโดเมนใดๆ ของฉัน มันไม่ได้อยู่ในไฟล์ปรับแต่ง nginx ของฉัน ฉันแค่สงสัยว่า certbot สามารถเสนอโทเค็นบนเส้นทางนั้นได้อย่างไร ฉันได้ grepd ชิ้นของระบบไฟล์สำหรับ 'ที่รู้จักกันดี' และ 'acme-challenge' แต่ไม่มีอะไรเกิดขึ้นคำสั่ง 'รูท' เดียวในไฟล์กำหนดค่า nginx ของไซต์ของฉันชี้ไปที่ไซต์คงที่ตามลำดับ ไม่มีอะไรนอกจากไซต์ 'ใช้งานได้' เริ่มต้นใน /usr/share/nginx/html
certbot หมุนเซิร์ฟเวอร์ของตัวเองหรือไม่? ฉันสงสัยเพราะไม่คิดว่าจะสามารถผูกกับพอร์ต 80 ในเวลาเดียวกันกับ nginx ได้