การรักษาความปลอดภัยของเว็บไซต์เป็นสิ่งสำคัญอย่างยิ่งในยุคดิจิทัลปัจจุบัน โดยเฉพาะการใช้โปรโตคอล HTTPS ซึ่งช่วยให้ข้อมูลที่ส่งผ่านเว็บไซต์ของคุณถูกเข้ารหัสและปลอดภัย ในบทความนี้เราจะมาสอนวิธีการติดตั้งและกำหนดค่า HTTPS บนเซิร์ฟเวอร์ Ubuntu ด้วย Certbot และ Nginx
สิ่งที่ต้องมี
- เซิร์ฟเวอร์ Ubuntu แนะนำ Ubuntu 20.04 LTS หรือเวอร์ชันล่าสุด
- Nginx หากยังไม่มี สามารถติดตั้งได้ตามขั้นตอนในบทความนี้
- โดเมนเนมที่ชี้ไปยังเซิร์ฟเวอร์ของคุณ เช่น example.com และมี DNS records ชี้ไปยัง IP ของเซิร์ฟเวอร์
- สิทธิ์การเข้าถึงแบบ root หรือผู้ใช้ที่มีสิทธิ์ sudo บนเซิร์ฟเวอร์
วิธีการชี้โดเมนไปยัง IP ของเซิร์ฟเวอร์
- เพิ่ม DNS records สำหรับโดเมน certbot.pargorn.com ที่ชี้ไปยัง IP ของเซิร์ฟเวอร์
- เลือก
A record
และใส่ IP ของเซิร์ฟเวอร์
ขั้นตอนที่ 1 อัปเดตระบบ
- เริ่มต้นด้วยการอัปเดตแพคเกจของระบบให้เป็นเวอร์ชันล่าสุด
ขั้นตอนที่ 2 ติดตั้ง Nginx
- หากยังไม่ได้ติดตั้ง Nginx สามารถติดตั้งได้ด้วยคำสั่ง
- หลังจากติดตั้งเสร็จสิ้น ตรวจสอบให้แน่ใจว่า Nginx ทำงานอยู่
- คุณควรเห็นสถานะ
active (running)
ถ้า Nginx ทำงานถูกต้อง
ขั้นตอนที่ 3 สร้างเว็บไซต์ “Hello Certbot”
เราจะสร้างเว็บไซต์ง่ายๆ ที่แสดงข้อความ “Hello Certbot” สำหรับโดเมน certbot.pargorn.com
1. สร้างไดเรกทอรีสำหรับเว็บไซต์
2. กำหนดสิทธิ์ให้กับไดเรกทอรี
3. สร้างไฟล์ HTML สำหรับเว็บไซต์
- สร้างไฟล์ index.html ที่จะแสดงข้อความ “Hello Certbot”
4. จากนั้นเพิ่มเนื้อหาดังนี้
- บันทึกไฟล์โดยกด
Ctrl + O
แล้วออกจาก nano ด้วยCtrl + X
5. สร้างไฟล์การตั้งค่าเซิร์ฟเวอร์สำหรับ Nginx
- สร้างไฟล์การตั้งค่าสำหรับเว็บไซต์
certbot.pargorn.com
6. เพิ่มเนื้อหาดังนี้
- บันทึกไฟล์โดยกด
Ctrl + O
แล้วออกจาก nano ด้วยCtrl + X
7. เปิดใช้งานการตั้งค่าเว็บไซต์
- สร้าง symbolic link ไปยัง sites-enabled เพื่อเปิดใช้งานเว็บไซต์
8. ทดสอบการตั้งค่าของ Nginx
9. หากไม่มีข้อผิดพลาด ให้รีสตาร์ท Nginx
10. ตรวจสอบว่าเว็บไซต์ “Hello Certbot” ทำงานอยู่หรือไม่
- เปิดเว็บเบราว์เซอร์และเข้าไปที่
http://certbot.pargorn.com
ขั้นตอนที่ 4 ติดตั้ง Certbot
- Certbot เป็นเครื่องมือที่ช่วยให้การขอและต่ออายุ SSL Certificates จาก Let’s Encrypt เป็นเรื่องง่าย ในการติดตั้ง Certbot สำหรับ Nginx บน Ubuntu
ขั้นตอนที่ 5 ขอรับ SSL Certificate ด้วย Certbot
- หลังจากติดตั้งเสร็จสิ้น สามารถใช้ Certbot ในการขอรับ SSL Certificate ได้โดยใช้คำสั่ง
Certbot จะถามข้อมูลต่างๆ ดังนี้
- อีเมลสำหรับการแจ้งเตือน ใส่อีเมลที่สามารถติดต่อได้เพื่อรับการแจ้งเตือนเกี่ยวกับ SSL Certificate
- ยอมรับข้อตกลงการให้บริการ
- เลือกโดเมนที่ต้องการเปิดใช้งาน HTTPS ในที่นี้จะเลือก
certbot.pargorn.com
- เลือกว่าจะทำการเปลี่ยนเส้นทางทั้งหมดจาก HTTP เป็น HTTPS หรือไม่ แนะนำให้เลือกให้เปลี่ยนเส้นทางทั้งหมด
ตัวอย่าง
ขั้นตอนที่ 6 ตรวจสอบการตั้งค่า Nginx
- Certbot จะปรับแต่งไฟล์การตั้งค่า Nginx ให้รองรับ HTTPS โดยอัตโนมัติ แต่คุณสามารถตรวจสอบได้ที่ไฟล์การตั้งค่าใน /etc/nginx/sites-available/certbot.pargorn.com
- หลังจากตรวจสอบแล้ว ให้ทดสอบการตั้งค่าของ Nginx
- ถ้าการตั้งค่าถูกต้อง ให้รีสตาร์ท Nginx
ขั้นตอนที่ 7 ทดสอบเว็บไซต์ด้วย HTTPS
เปิดเว็บเบราว์เซอร์และเข้าไปที่ https://certbot.pargorn.com
คุณควรเห็น ไอคอนรูปกุญแจล็อก 🔒
ที่แสดงถึงการเชื่อมต่อที่ปลอดภัย พร้อมทั้งหน้าเว็บที่แสดงข้อความ “Hello Certbot” หากไม่มีข้อผิดพลาดใดๆ เกิดขึ้น แสดงว่าการตั้งค่า HTTPS สำเร็จเรียบร้อยแล้ว
ขั้นตอนที่ 8 ตั้งค่าการต่ออายุอัตโนมัติสำหรับ SSL Certificate
-
SSL Certificates จาก Let’s Encrypt มีอายุ 90 วัน คุณสามารถตั้งค่าให้ Certbot ต่ออายุอัตโนมัติได้ด้วยการเพิ่ม Cron Job หรือใช้ systemd timer ที่มาพร้อมกับ Certbot
-
ตรวจสอบให้แน่ใจว่า Cron Job สำหรับ Certbot มีอยู่
- โดยปกติ Certbot จะตั้งค่าให้ทำการตรวจสอบและต่ออายุอัตโนมัติทุกวัน หากต้องการตรวจสอบการต่ออายุสามารถทำได้ด้วยคำสั่ง
- ถ้าไม่มีข้อผิดพลาด แสดงว่าการตั้งค่าการต่ออายุอัตโนมัติทำงานได้ถูกต้อง
สรุป
การติดตั้งและกำหนดค่า HTTPS บน Nginx ด้วย Certbot บน Ubuntu Server เป็นกระบวนการที่ไม่ซับซ้อนและสามารถทำได้ในไม่กี่ขั้นตอน การใช้ HTTPS จะช่วยเพิ่มความปลอดภัยให้กับเว็บไซต์ของคุณและสร้างความเชื่อมั่นให้กับผู้ใช้งาน ในบทความนี้เราได้สร้างเว็บไซต์ที่แสดงข้อความ “Hello Certbot” และใช้โดเมน certbot.pargorn.com เพื่อแสดงให้เห็นถึงการตั้งค่าอย่างครบถ้วน อย่าลืมตรวจสอบและต่ออายุ SSL Certificates อย่างสม่ำเสมอเพื่อรักษาความปลอดภัยของเว็บไซต์อย่างต่อเนื่อง