ค้นหาเว็บไซต์

วิธีติดตั้งใบรับรอง SSL ฟรีสำหรับ Nginx บน Debian 10


เมื่อตั้งค่าเว็บไซต์ ข้อควรพิจารณาหลักประการหนึ่งที่คุณควรคำนึงถึงคือความปลอดภัยของเว็บไซต์ของคุณ ใบรับรอง SSL คือใบรับรองดิจิทัลที่เข้ารหัสข้อมูลที่ส่งจากเบราว์เซอร์ของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ ด้วยวิธีนี้ ข้อมูลที่ส่งจะเป็นความลับและปลอดภัยจากแฮกเกอร์ที่ใช้เครื่องดมกลิ่นแพ็คเก็ตเช่น Wireshark เพื่อดักจับและดักฟังการสื่อสารของคุณ

ไซต์ที่เข้ารหัสจะมีสัญลักษณ์แม่กุญแจในแถบ URL ตามด้วยตัวย่อ https ดังที่แสดงในภาพหน้าจอต่อไปนี้

ไซต์ที่ไม่ได้เข้ารหัสมักจะมีการแจ้งเตือน “ไม่ปลอดภัย ” ที่แถบ URL

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามข้อกำหนดต่อไปนี้:

  1. อินสแตนซ์ที่ทำงานอยู่ของ Debian 10 Minimal Server
  2. อินสแตนซ์ที่ทำงานอยู่ของเว็บเซิร์ฟเวอร์ Nginx พร้อมการตั้งค่าโดเมนบน Debian 10
  3. ชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) ที่ลงทะเบียนแล้ว โดยมีบันทึก A ชี้ไปยังที่อยู่ IP ของ Debian 10 บน ผู้ให้บริการโดเมน ของคุณ

สำหรับบทช่วยสอนนี้ เรามี linux-console.net ชี้ไปยังที่อยู่ IP 192.168.0.104

ในบทความนี้ เราจะตรวจสอบว่าคุณสามารถติดตั้ง มาเข้ารหัส SSL บน Debian 10 เพื่อรับ ใบรับรอง SSL ฟรี สำหรับ Nginx ได้อย่างไร แข็งแกร่ง> ไซต์ที่โฮสต์

Let's Encrypt SSL คืออะไร

Let's Encrypt SSL เป็นใบรับรองฟรีจาก EFF (Electronic Frontier Foundation) ซึ่งมีอายุ 3 เดือนและต่ออายุอัตโนมัติเมื่อหมดอายุ เป็นวิธีที่ง่ายและประหยัดในการเข้ารหัสไซต์ของคุณหากคุณมีเงินในกระเป๋าไม่มาก

โดยไม่ต้องกังวลใจอีกต่อไป มาดำดิ่งลงและติดตั้ง Let’s Encrypt บนเว็บเซิร์ฟเวอร์ Nginx กันเลย:

ขั้นตอนที่ 1: ติดตั้ง Certbot ใน Debian 10

ในการเริ่มต้น เราต้องติดตั้ง Certbot ซึ่งเป็นซอฟต์แวร์ที่ดึงใบรับรอง Let's encrypt ดิจิทัล และนำไปใช้บนเว็บเซิร์ฟเวอร์ในภายหลัง เพื่อให้บรรลุเป้าหมายนี้ เราจำเป็นต้องติดตั้งแพ็คเกจ python3-certbot-nginx แต่ก่อนที่เราจะทำเช่นนั้น เรามาอัพเดตแพ็คเกจระบบก่อน

sudo apt update

ขั้นตอนต่อไปคือการติดตั้งการขึ้นต่อกันที่จำเป็นสำหรับแพ็คเกจ python3-certbot-nginx

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

ตอนนี้มาติดตั้งแพ็คเกจ python3-certbot-nginx กันดีกว่า

sudo apt install python3-certbot-nginx

ขั้นตอนที่ 2 ตรวจสอบการกำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx

เพื่อให้ certbot ปรับใช้ใบรับรอง มาเข้ารหัส SSL บนเว็บเซิร์ฟเวอร์ Nginx โดยอัตโนมัติ จำเป็นต้องกำหนดค่าบล็อกเซิร์ฟเวอร์ เราได้กล่าวถึงการกำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx ไว้ในส่วนสุดท้ายของบทความที่แล้ว

หากคุณติดตามอย่างกระตือรือร้น คุณควรมีบล็อกเซิร์ฟเวอร์ที่ /etc/nginx/sites-available/some_domain ในกรณีของเรา บล็อกเซิร์ฟเวอร์ Nginx จะเป็น

/etc/nginx/sites-available/linux-console.net

นอกจากนี้ ตรวจสอบให้แน่ใจว่าคำสั่ง server_name สอดคล้องกับชื่อโดเมนของคุณ

server_name linux-console.net linux-console.net;

หากต้องการยืนยันว่าการกำหนดค่า Nginx ทั้งหมดเป็นไปตามลำดับ ให้รัน:

sudo nginx -t

ผลลัพธ์ข้างต้นบ่งชี้ว่าทุกอย่างเรียบร้อยดี

ขั้นตอนที่ 3: กำหนดค่าไฟร์วอลล์เพื่อเปิดพอร์ต HTTPS

ในกรณีที่คุณได้กำหนดค่าและเปิดใช้งาน ufw ตามที่แนะนำมาตลอด เราจำเป็นต้องอนุญาตโปรโตคอล HTTPS ข้ามไฟร์วอลล์ เพื่อให้ทุกคนสามารถเข้าถึงเว็บเซิร์ฟเวอร์ได้

sudo ufw allow 'Nginx Full'

ถัดไป โหลดไฟร์วอลล์ใหม่เพื่อให้มีผลกับการเปลี่ยนแปลง

sudo ufw reload

เพื่อตรวจสอบว่าเราได้อนุญาตโปรโตคอลผ่านไฟร์วอลล์แล้ว

sudo ufw status

ขั้นตอนที่ 4: การปรับใช้ Let's Encrypt SSL Certificate สำหรับโดเมน

เมื่อตรวจสอบการตั้งค่าและการกำหนดค่าทั้งหมดแล้ว ก็ถึงเวลาดึงข้อมูลและปรับใช้ใบรับรอง Let’s Encrypt SSL บนไซต์โดเมน

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

ในกรณีของเราเราจะมี

sudo certbot --nginx -d linux-console.net -d linux-console.net

ในขั้นตอนแรก คุณจะได้รับแจ้งให้ป้อนที่อยู่อีเมลของคุณ พิมพ์ที่อยู่ของคุณ และกด Enter

จากนั้นคุณจะถูกขอให้ยอมรับข้อกำหนดในการให้บริการ พิมพ์ A เพื่อดำเนินการต่อ

Certbot จะดำเนินการขอความยินยอมจากคุณในการใช้อีเมลของคุณเพื่อส่งการแจ้งเตือนเกี่ยวกับการพัฒนาล่าสุดใน EFF ที่นี่ คุณสามารถเลือกว่าจะเข้าร่วมหรือไม่เข้าร่วมก็ได้ โดยพิมพ์ Y (ใช่) และกด Enter หากต้องการปฏิเสธการเข้าร่วม ให้กด N (ไม่)

Certbot จะติดต่อขอเข้ารหัส ดาวน์โหลดใบรับรอง SSL และปรับใช้กับบล็อกเซิร์ฟเวอร์ Nginx ที่คุณสร้างไว้แล้ว

ในส่วนถัดไป ให้พิมพ์ 2 เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ปกติไปยัง HTTPS

ใบรับรองจะถูกนำไปใช้กับ เซิร์ฟเวอร์ Nginx ของคุณ และคุณจะได้รับการแจ้งเตือนแสดงความยินดีเพื่อยืนยันว่าขณะนี้เว็บเซิร์ฟเวอร์ของคุณได้รับการเข้ารหัสโดยใช้ มาเข้ารหัส SSL กันเถอะ

ขั้นตอนที่ 5: ตรวจสอบ HTTPS บนเว็บไซต์ Nginx

หากต้องการตรวจสอบการเปลี่ยนแปลงผ่านเว็บเบราว์เซอร์ ให้รีเฟรชแท็บเบราว์เซอร์ของคุณและอย่าลืมสังเกตสัญลักษณ์รูปแม่กุญแจ

คลิกที่ ไอคอนรูปกุญแจ และเลือกตัวเลือก 'ใบรับรอง' เพื่อดูรายละเอียดใบรับรอง SSL

รายละเอียดใบรับรองทั้งหมดจะปรากฏขึ้น

คุณสามารถตรวจสอบสถานะของเว็บเซิร์ฟเวอร์ของคุณเพิ่มเติมได้โดยการทดสอบ URL ของเว็บไซต์ของคุณที่ https://www.ssllabs.com/ssltest/ หากเว็บเซิร์ฟเวอร์ถูกเข้ารหัสโดยใช้ใบรับรอง SSL คุณจะได้รับคะแนน A ตามที่แสดง

บทสรุป

เรามาถึงจุดสิ้นสุดของบทช่วยสอนนี้แล้ว ในแนวทางนี้ คุณได้เรียนรู้วิธีติดตั้งใบรับรอง SSL ฟรีสำหรับ Nginx บน Debian 10