Let’s Encrypt Wildcard Certificate

วันนี้เพิ่งเห็นว่า Let’s Encrypt เปิดให้ใช้งาน Certificate แบบ Wildcard แล้ว เลยบ้าเห่อรีบเปลี่ยนอย่างไว (จริงๆ suksit.com ยังไม่มี subdomain จะเปลี่ยนทำไม 🤣)

การใช้ Wildcard Certificate มีเงื่อนไขนิดหน่อย คือต้องใช้ Client ที่รองรับ ACME v2 และจะเปลี่ยนจากการ validate แบบเดิม ไปใช้ DNS-01 Challenge แทน อย่างผมใช้ Certbot คำสั่งที่ใช้ในการสร้าง Wildcard Certificate จะเป็นประมาณนี้

certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d suksit.com -d *.suksit.com

หลังจากยอมรับเงื่อนไขการใช้งานแล้ว Certbot จะให้เราสร้าง DNS TXT Record ชื่อ _acme-challenge แล้วใส่ Value เป็นค่าที่มันกำหนด พอสร้างแล้วก็รอสักพักให้ DNS อัพเดต สามารถเช็คว่า TXT Record ที่เราสร้างนั้นโอเคแล้วหรือยัง โดยใช้คำสั่ง

nslookup
> set type=txt
> _acme-challenge.suksit.com

ถ้าเห็น TXT Value ตามที่เราสร้างไว้ก็เป็นอันใช้ได้ จากนั้นก็กลับมาหน้า Certbot แล้วกด Enter เพื่อให้มันตรวจสอบ DNS Challenge และสร้าง Certificate ให้เรา เป็นอันเสร็จพิธี 😙