กำหนดค่าให้เข้ารหัสมหาสมุทรดิจิทัล

Kahnd Kha Hi Khea Rhas Mhasmuthr Dicithal



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

ผู้ออกใบรับรอง (CA) ที่เรียกว่า Let's Encrypt เสนอใบรับรอง SSL/TLS ฟรี ซึ่งทำให้สามารถเข้ารหัส HTTPS บนเว็บเซิร์ฟเวอร์ได้ มีการตรวจสอบโดเมนแล้ว ดังนั้นจึงไม่จำเป็นต้องมีที่อยู่ IP เฉพาะ โดยปกติแล้ว ขอแนะนำให้เปิดใช้งานใบรับรอง SSL บนเว็บไซต์ของคุณเพื่อปรับปรุงอันดับ SEO ของคุณ โดยเฉพาะใน Google







ผลงานของ Let's Encrypt

Let's Encrypt ยืนยันความเป็นเจ้าของโดเมนก่อนให้ใบรับรอง เมื่อโทเค็นได้รับการตรวจสอบแล้ว เซิร์ฟเวอร์ตรวจสอบความถูกต้องของ Let's Encrypt จะส่งคำขอ HTTP เพื่อรับไฟล์ และทำให้แน่ใจว่าระเบียน DNS ของโดเมนชี้ไปที่เซิร์ฟเวอร์ที่โฮสต์ไคลเอ็นต์ Let's Encrypt



ความต้องการ

คุณต้องทำสิ่งต่อไปนี้ก่อนใช้ Let's Encrypt:



ทำตามคำแนะนำในการตั้งค่าเซิร์ฟเวอร์ครั้งแรกสำหรับบทช่วยสอน Ubuntu 20.04 เมื่อตั้งค่าเซิร์ฟเวอร์ Ubuntu 20.04 แล้ว พร้อมด้วยไฟร์วอลล์และผู้ใช้ที่ไม่ใช่รูทด้วยการเข้าถึง sudo





ชื่อโดเมนที่มีการจดทะเบียน ตลอดบทความนี้ จะใช้ myfirstproject1.com คุณสามารถซื้อโดเมน

ระเบียน DNS สองรายการต่อไปนี้ได้รับการกำหนดค่าบนเซิร์ฟเวอร์ของคุณ



  • บันทึก “myproject1” โดยมี myfirstproject1.com ชี้ไปยังที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ของคุณ
  • บันทึก “myproject2” ที่มี myfirstproject2.com ชี้ไปยังที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ของคุณ

ควรติดตั้ง Nginx และคุณต้องแน่ใจว่าโดเมนของคุณมีบล็อกเซิร์ฟเวอร์

ขั้นตอนในการติดตั้ง Let's Encrypt บน Digital Ocean

ขั้นตอนหลักในการติดตั้ง Let's Encrypt บนมหาสมุทรดิจิทัลคือ:

การติดตั้ง Certbot

ซอฟต์แวร์ Certbot เป็นความต้องการหลักในการใช้ Let's Encrypt เพื่อรับใบรับรอง SSL สำหรับการติดตั้ง Certbot และปลั๊กอิน Nginx เราใช้คำสั่งต่อไปนี้:

บริษัทโฮสติ้งที่ใช้ร่วมกันส่วนใหญ่และบริษัทโฮสติ้งบนคลาวด์บางแห่งได้รวม Certbot หรือปลั๊กอินที่คล้ายกันไว้ในแผงการโฮสต์เว็บไซต์ ซึ่งช่วยให้คุณสามารถซื้อ ต่ออายุ และจัดการใบรับรอง SSL/TLS ได้ด้วยการคลิกเพียงไม่กี่ครั้ง

ในขณะที่ “python3-certbot-nginx” เป็นแพ็คเกจที่ใช้ในการ:

แสดงให้ Let's Encrypt CA แสดงว่าคุณรับผิดชอบเว็บไซต์ทันที

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

Certbot พร้อมสำหรับการใช้งานแล้ว แต่การตั้งค่าบางอย่างต้องได้รับการยืนยันก่อนจึงจะสามารถตั้งค่า SSL สำหรับ Nginx ได้โดยอัตโนมัติ

กำลังตรวจสอบการกำหนดค่าของ Nginx

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

ควรมีการกำหนดค่าคำสั่งชื่อเซิร์ฟเวอร์อย่างถูกต้องในบล็อกเซิร์ฟเวอร์สำหรับโดเมน ซึ่งเราจะใช้ที่ “/etc/nginx/sites-available/myfirstproject1.com”

เปิดไฟล์การกำหนดค่าโดเมนใน nano หรือโปรแกรมแก้ไขข้อความอื่นๆ เพื่อยืนยันว่าไฟล์ของคุณจะถูกเปิดหากมีอยู่ ปิดตัวแก้ไขแล้วไปที่การดำเนินการถัดไป ชื่อเซิร์ฟเวอร์จะมีลักษณะเหมือน “server_name domain_name www.domain_name.com “ ดังแสดงในตัวอย่างด้านล่าง

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

$ sudo nginx –t

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

$ sudo systemctl รีโหลด nginx

ตอนนี้ Certbot สามารถค้นหาบล็อกเซิร์ฟเวอร์ที่ถูกต้องและอัปเดตได้โดยอัตโนมัติ systemctl มีหน้าที่ตรวจสอบและจัดการระบบ systemd และการจัดการบริการ มันทำหน้าที่เป็นตัวแทนที่ของ System V init daemon และประกอบด้วยไลบรารีเครื่องมือและ daemon การดูแลระบบหลายตัว

การเปิดใช้งาน HTTPS ผ่านไฟร์วอลล์

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

ตัวเลือกสถานะ UFW ช่วยให้เราดูเงื่อนไขล่าสุดของ UFW ได้ สถานะ UFW จะแสดงรายการข้อบังคับหากมีการเปิดใช้งาน UFW แน่นอน หากคุณมีข้อมูลประจำตัวที่จำเป็น คุณสามารถเรียกใช้คำสั่งในฐานะผู้ใช้รูทหรือนำหน้าด้วย sudo เท่านั้น

เปิดใช้งานโปรไฟล์ Nginx แบบเต็มและลบค่าเผื่อโปรไฟล์ Nginx HTTP ที่ไม่จำเป็นเพื่ออนุญาตการรับส่งข้อมูล HTTPS ด้วย:

ตัวอย่างก่อนหน้าแสดงวิธีการอนุญาตการรับส่งข้อมูลที่สมบูรณ์จาก Nginx และส่วนที่สองแสดงวิธีการลบการรับส่งข้อมูลอื่นที่เราอนุญาต

วิธีรับใบรับรอง SSL

ด้วยความช่วยเหลือของปลั๊กอิน Certbot มีหลายวิธีในการรับใบรับรอง SSL การกำหนดค่าและการโหลดการกำหนดค่าของ Nginx ใหม่จะได้รับการจัดการโดยปลั๊กอิน Nginx ตามความจำเป็น

ใช้ Certbot เพื่อรับใบรับรอง SSL ของโดเมนทันที ในการระบุโดเมน จำเป็นต้องมีอาร์กิวเมนต์ '-d' ใบรับรองหนึ่งฉบับออกโดย Let's Encrypt สำหรับโดเมนย่อย www และรูท จำเป็นต้องขอรับใบรับรองสำหรับทั้งสองเวอร์ชัน เนื่องจากมีเพียงหนึ่งเวอร์ชันสำหรับเวอร์ชันใดเวอร์ชันหนึ่งจะส่งผลให้เกิดคำเตือนในเบราว์เซอร์หากผู้เยี่ยมชมดูเวอร์ชันอื่น สำหรับผู้ใช้ใหม่ certbot จะขอให้คุณระบุอีเมลของคุณเป็นอันดับแรก และยืนยันว่าคุณยอมรับข้อกำหนดในการให้บริการ

หากสำเร็จ ระบบจะขอให้คุณทำการเลือกและกด ENTER หลังจากอัปเดตการกำหนดค่าแล้ว Nginx จะโหลดซ้ำและพิจารณาการตั้งค่าใหม่ หลังจากเสร็จสิ้น certbot จะแจ้งให้คุณทราบว่าขั้นตอนสำเร็จแล้ว

บทสรุป

ในคู่มือนี้ เราสาธิตวิธีการติดตั้งและใช้งานใบรับรองของซอฟต์แวร์ Let's Encrypt รับใบรับรอง SSL ตั้งค่าการอัปเดตอัตโนมัติของคุณสำหรับใบรับรอง SSL และกำหนดค่า Nginx นอกจากนี้ เรายังได้จัดเตรียมตัวอย่างสถานการณ์ที่อาจส่งผลให้เกิดปัญหาในการรวบรวมเมื่อใช้ Let's Encrypt Digital Ocean