เกริ่นนำ
ผมใช้ Server เป็น CyberPanel ซึ่งเป็น Web Hosting Panel ที่มีเครื่องมือครบครันมากๆ
ใช้ openlitespeed/litespeed เป็น server และ config format เหมือน Apache
ปัญหาต่อมาคือ ผมพยายาม issue SSL แต่ดันได้ issuer เป็น example.com และ chrome ก็ไม่ยอม เพราะ domain theproud.co.th ดันมี issuer และ subject เป็น example.com
ต้นตอของปัญหา
เอาตรงๆผมก็ยังไม่แน่ใจว่าต้นตอคือตรงไหน ผมตั้งสมมติฐานแยกเป็นสองส่วน
1.ปัญหาที่ SSL
2.ปัญหาที่ DNS
ผมลองค้นหาข้อมูลจาก
https://serverfault.com/questions/1012218/letsencrypt-for-all-subdomains-example-com
https://community.letsencrypt.org/t/everything-to-https-www-example-com/79461
อื่นๆอีกมากมายด้วย keyword “letsencrypt example.com”
ซึ่งคำตอบส่วนใหญ่ชี้ไปทางเดียวกัน คือ NS,CN น่าจะผิด หรือ CyberPanel น่าจะผิด
ผมจึงนั่งดู config DNS และพบว่ามันปกติมากๆ
ผมไม่รู้จะทำอะไรต่อได้ จึงไล่ลบ config DNS, alias ทั้งหมด แต่มันก็ไม่ได้ช่วยอะไร (อย่าทำตาม)
ถ้าไล่อ่านจาก comment เขาก็บอกว่า เครื่องเราตอนส่งไป request ขอ ssl ส่งไปไม่ครบ ให้ลองไปดู config server
ผมพยายามหา config server แต่ก็หาไม่เจอว่า example.com โผล่มาตอนไหน งงจริงๆ
วิธีแก้ปัญหา
ในเมื่อเรากดผ่าน CyberlPanel ไม่เวิค ก็ใช้ command เลยสิ!
// Step 1 Delete+Backup ของเก่า
mv /etc/letsencrypt/live/example.com /etc/letsencrypt/live/example.com_backup
// Step 2 Generate Cert
certbot certonly --webroot -w /home/example.com/public_html -d example.com -d www.example.com
// Step 3 Check
openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -text
// CN ควรเป็น example.com
//vHost Conf ควรมีค่าตามนี้
// keyFile /etc/letsencrypt/live/example/privkey.pem
// certFile /etc/letsencrypt/live/example.com/fullchain.pem
// Step 4 Restart Services
systemctl restart lsws
Reference
https://cyberpanel.net/docs/1-manage-dns/
https://cyberpanel.net/docs/3-manually-extending-ssl-to-www/