บทความก่อนหน้านี้ได้แนะนำ การติดตั้ง Let’s Encrypt ร่วมกับ Apache บน CentOS 7 ไปแล้ว สำหรับบทความในนี้จะขอแนะนำการติดตั้ง Let’s Encrypt ร่วมกับ Nginx บน CentOS 7

หลังจากที่ดำเนินการติดตั้ง CentOS รวมทั้งดำเนินการ update package manager ต่างๆ ให้เรียบร้อยแล้ว จึงมาเริ่มดำเนินการติดตั้งตามขั้นตอนดังนี้

ขั้นตอนที่ 1 – ติดตั้ง Nginx

ในกรณีที่ยังไม่ได้ทำการติดตั้ง Nginx สามารถติดตั้ง Nginx จาก Epel repositories

ขั้นตอนที่ 2 – ติดตั้งแพคเกจที่ต้องใช้สำหรับ Let’s Encrypt

สำหรับการติดตั้งแพคเกจจำเป็นสำหรับ Let’s Encrypt client บนระบบ Linux ที่รวดเร็วแนะนำให้ติดตั้งจาก github repositories

ขั้นตอนที่ 3 – การสร้าง SSL Certificate สำหรับ Nginx

การติดตั้งฟรี SSL Certificate สำหรับ Nginx ด้วยตัวเอง โดยใช้ Standalone plugin

ตรวจสอบ port 80 ว่าใช้งานอยู่หรือไม่

หากพบว่ามีการทำงานอยู่ให้ทำการ stop service

***การสร้าง free SSL Certificate โดยในที่นี้ให้เปลี่ยนข้อมูลโดเมนเป็นข้อมูลจริงของท่าน แทนค่า letsencrypt.thaivs.com (โดเมนตัวอย่างของบทความ)

กรอกอีเมล์ของท่านที่ใช้ในกรณีติดต่อและจากนั้นให้ยอมรับเงื่อนไข

ติดตั้งเรียบร้อย จะพบข้อความแสดงอายุของ Certificate (มีอายุ 90 วัน นับจากวันที่ติดตั้ง)

ขั้นตอนที่ 4 – การติดตั้ง SSL Certificate สำหรับ Nginx

ไฟล์ของ SSL Certificate จะวางอยู่ที่ /etc/letsencrypt/live/

การติดตั้ง SSL Certificate สำหรับ Nginx ให้ทำการเปิดไฟล์ /etc/nginx/nginx.conf

และวางข้อความดังนี้ภายในไฟล์

ทำการ restart Nginx

เมื่อติดตั้งเรียบร้อยแล้ว เรามาตรวจสอบ SSL Certificate ที่เราได้ติดตั้งกัน โดยตรวจสอบได้ที่ (ทำการทดสอบแบบมีและไม่มี www)

https://www.ssllabs.com/ssltest/analyze.html

ในกรณีที่ตรวจสอบพบเกรดเท่าหรือต่ำกว่า B สามารถทำการ generate ค่า Diffie-Hellman ใหม่

Diffie–Hellman (DH) เป็นกระบวนการสร้าง “ความลับ” ระหว่างกันโดยไม่ต้องส่งความลับนั้นถึงกันจริงๆ โดยทั่วไปแล้วความลับที่ว่าคือการแลก “กุญแจ” สำหรับการเข้ารหัสแบบกุญแจสมมาตรเพื่อส่งข้อมูลถึงกันต่อไป

หลังจาก generate ค่า Diffie-Hellman เรียบร้อยแล้ว ให้ทำการเปิดไฟล์ /etc/nginx/nginx.conf และวางข้อความดังนี้ภายในไฟล์ เพิ่มเติมจากข้อความเดิมก่อนหน้า

และ restart Nginx

เรามาตรวจสอบ SSL Certificate กันอีกครั้ง ให้ทำการกด Clear cache และทดสอบแบบมีและไม่มี www

ขั้นตอนที่ 5 – การตั้งค่าต่ออายุ Let’s Encrypt

Let’s Encrypt แบบ free SSL certificates จะมีอายุ 90 วัน ในที่นี้เราจะใช้ webroot plugin ในการต่ออายุ

เพื่อให้การต่ออายุ SSL certificates ได้แบบอัตโนมัติ ให้ทำการสร้าง script ไว้ที่ /usr/local/bin/

และวางข้อความดังนี้ภายในไฟล์ (ตรวจสอบค่าตัวแปร $webpath ให้ถูกต้อง ตาม path ที่ท่านใช้งาน)

 

เมื่อดำเนินการวาง script เรียบร้อยแล้ว ให้ทำการตั้งค่า executable และติดตั้ง bc

และทดสอบ script

ในที่สุดเราก็ตั้งค่าการต่ออายุ SSL certificates อัตโนมัติไว้พร้อมแล้ว เรามาตั้ง cron เพื่อให้ run script ทุกๆ อาทิตย์ เพื่อให้ตรวจสอบและต่ออายุก่อน 30 วัน

และวางข้อความดังนี้ภายในไฟล์

 

 

Share this:Share on FacebookTweet about this on TwitterShare on Google+Pin on Pinterest