บทช่วยสอนนี้จะแสดงวิธีกำหนดค่า Nginx เพื่อใช้ SSL /TLS ใบรับรองจาก SSL.com และเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ขาเข้าไปยังเวอร์ชัน HTTPS ที่ปลอดภัยของไซต์ของคุณ คำแนะนำเหล่านี้ถือว่าคุณมีแล้ว สร้างของคุณ CSR และ สั่ง SSL /TLS ใบรับรอง จาก SSL.com
ผู้ใช้ NGINX สามารถทำได้แล้ว โดยอัตโนมัติ การสั่งซื้อการกำหนดค่าและการต่ออายุ SSL /TLS ใบรับรองจาก SSL.com ด้วยโปรโตคอล ACME กรุณาอ่าน ACME SSL /TLS ระบบอัตโนมัติด้วย Apache และ Nginx สำหรับข้อมูลเพิ่มเติม
- เมื่อคุณดาวน์โหลดใบรับรองจาก SSL.com ให้เลือกไฟล์ Nginx ลิ้งค์ดาวน์โหลด. ไฟล์นี้จะรวมใบรับรองเซิร์ฟเวอร์ของคุณและใบรับรองการสนับสนุนที่จำเป็นทั้งหมดตามลำดับที่ถูกต้องสำหรับใช้กับ Nginx ชื่อของไฟล์ที่ดาวน์โหลดควรลงท้ายด้วย
.chained.crt
. - วางไฟล์ใบรับรองและคีย์ส่วนตัวที่คุณสร้างด้วยไฟล์ CSR คุณต้องการให้พวกเขาไปที่ใดบนเซิร์ฟเวอร์ Nginx ของคุณ (ตำแหน่งทั่วไปบนลีนุกซ์ที่ใช้ Debian เช่น Ubuntu คือ
/etc/ssl/certs/
สำหรับใบรับรองและ/etc/ssl/private/
สำหรับคีย์ส่วนตัว) คีย์ส่วนตัวต้องได้รับการรักษาความปลอดภัยอย่างเหมาะสมตรวจสอบเอกสารระบบปฏิบัติการของคุณเพื่อดูการตั้งค่าความเป็นเจ้าของและสิทธิ์ที่ถูกต้อง - เปิดไฟล์การกำหนดค่า Nginx ที่มีบล็อกเซิร์ฟเวอร์ HTTP สำหรับเว็บไซต์ของคุณ (ตัวอย่างเช่นบน Ubuntu อาจอยู่ที่
/etc/nginx/sites-available/example.com
). บล็อกเซิร์ฟเวอร์ HTTP ควรมีลักษณะดังนี้:
เซิร์ฟเวอร์ {ฟัง 80; ฟัง [::]: 80; server_name www.example.com; # การกำหนดค่าดำเนินการต่อ ... }
- เพิ่มบล็อกสำหรับเว็บไซต์เวอร์ชัน HTTPS ด้านล่างบล็อก HTTP แทนที่
/PATH/TO/CERTIFICATE.crt
และ/PATH/TO/KEY.key
ด้วยเส้นทางจริงไปยังใบรับรองและคีย์ของคุณ
เซิร์ฟเวอร์ {ฟัง 80; ฟัง [::]: 80; server_name www.example.com; # configuration ต่อ ... } เซิร์ฟเวอร์ {ฟัง 443 ssl; ฟัง [::]: 443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key # การกำหนดค่าดำเนินต่อไป ... }
โปรดทราบว่าหากคุณต้องการให้บริการทั้งเวอร์ชัน HTTP และ HTTPS ของเว็บไซต์คุณสามารถใส่ทั้งหมดได้listen
คำสั่งในบล็อกเดียวกัน:
เซิร์ฟเวอร์ {ฟัง 80; ฟัง [::]: 80; ฟัง 443 ssl; ฟัง [::]: 443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key # การกำหนดค่าดำเนินต่อไป ... }
อย่างไรก็ตามโดยทั่วไปขอแนะนำให้เปลี่ยนเส้นทางการเข้าชมทั้งหมดไปยัง HTTPS ดังที่แสดงด้านล่าง - เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ขาเข้าทั้งหมดบนพอร์ต
80
ไปที่ HTTPS เพิ่มการเปลี่ยนเส้นทางไปยังบล็อก HTTP ขอแนะนำให้ทำเช่นนี้เพื่อให้ลิงก์ HTTP ที่มีอยู่ไปยังเว็บไซต์ของคุณจะนำไปสู่เวอร์ชัน HTTPS ที่ปลอดภัยของไซต์ โปรดทราบว่าคุณยังสามารถลบการกำหนดค่าเพิ่มเติมใด ๆ จากบล็อก HTTP
เซิร์ฟเวอร์ {ฟัง 80; ฟัง [::]: 80; server_name www.example.com; กลับ 301 https: // $ host $ request_uri; } เซิร์ฟเวอร์ {ฟัง 443 ssl; ฟัง [::]: 443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key # การกำหนดค่าดำเนินต่อไป ... }
- รีสตาร์ท Nginx เพื่อให้การเปลี่ยนแปลงของคุณมีผล
ขอบคุณที่เลือกใช้ SSL.com! หากคุณมีคำถามใด ๆ โปรดติดต่อเราทางอีเมลที่ Support@SSL.com, โทร 1-877-SSL-SECUREหรือคลิกลิงก์แชทที่ด้านล่างขวาของหน้านี้ คุณยังสามารถค้นหาคำตอบสำหรับคำถามการสนับสนุนทั่วไปได้ใน ฐานความรู้.