久久999这里只有精品视频|欧美夫妻性生活黄大片|久久九九九九九九热|波多野结衣二区看黄片在线|99性爱视频97厂超碰|欧美国产丝袜成年人二级毛片|中国一圾黄片免费看a级大片|太久思思中文字幕一区|爱爱很舒服欧美91|亚洲男女AV亚洲肏屄

X
???????????: 2026-02-07 | ??????????: 2026-02-09
การติดตั้งใบรับรอง SSL บน Nginx

Tิบทความนี้จะแนะนำขั้นตอนในการติดตั้งใบรับรอง SSL บน Nginx และการตั้งค่าการเปลี่ยนเส้นทางอัตโนมัติจาก HTTP:// ไปยัง HTTPS://

1. อัปโหลดใบรับรองไปยังเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์ของคุณ

หลังจากที่คุณทำขั้นตอนการสร้างรหัส CSR และเปิดใช้งาน SSL แล้ว คุณจะได้รับไฟล์ zip ที่มีใบรับรอง Sectigo (เดิมชื่อ Comodo) ผ่านทางอีเมล หรือคุณสามารถดาวน์โหลดได้จากแผงบัญชี NiceNic ของคุณ

หมายเหตุ: หากคุณเลือกเซิร์ฟเวอร์ NGINX ในขณะเปิดใช้งานใบรับรอง คุณจะได้รับไฟล์ zip ที่ประกอบด้วยไฟล์ใบรับรองที่มีนามสกุล '.crt' และไฟล์ใบรับรองหน่วยงานออกใบรับรอง (CA) ที่มีนามสกุล '.ca-bundle'

อัปโหลดทั้งสองไฟล์ไปยังเซิร์ฟเวอร์ของคุณด้วยวิธีที่คุณต้องการ เช่น การใช้ FTP client

คุณยังสามารถดาวน์โหลดไฟล์ Bundle สำหรับแต่ละใบรับรองได้โดยทำตามคำแนะนำที่นี่

2. รวมใบรับรองทั้งหมดเข้าด้วยกันในไฟล์เดียว

คุณต้องมีใบรับรองทั้งหมด (??????_?????.crt และ ??????_?????.ca-bundle) รวมอยู่ในไฟล์ '.crt' ไฟล์เดียว

ใบรับรองสำหรับโดเมนของคุณควรอยู่ก่อนในไฟล์ ตามด้วยโซ่ของใบรับรอง (CA Bundle)

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

$ cat ??????_?????.crt ??????_?????.ca-bundle >> ??????_?????_chain.crt

โปรดทราบ ว่าหากไฟล์ใบรับรองถูกดาวน์โหลดจากบัญชี NiceNic ของคุณ คำสั่งที่ควรใช้จะเป็น:

$ cat ??????_?????.crt > ??????_?????_chain.crt ; echo >> ??????_?????_chain.crt ; cat ??????_?????.ca-bundle >> ??????_?????_chain.crt

3. สร้างบล็อกเซิร์ฟเวอร์ Nginx แยกต่างหากหรือแก้ไขไฟล์กำหนดค่าที่มีอยู่

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

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

เราขอแนะนำให้สร้างไฟล์กำหนดค่าใหม่ในโฟลเดอร์นี้:

/etc/nginx/conf.d

คุณสามารถทำได้ด้วยคำสั่งนี้:

sudo nano /etc/nginx/conf.d/Your_?????*-ssl.conf

โดยที่ Your_?????*-ssl.conf คือชื่อไฟล์ที่สร้างขึ้นใหม่

ต่อไป คัดลอกและวางบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 443 ที่ให้ไว้ด้านล่าง พร้อมแก้ไขไดเรกทอรีให้ตรงกัน ตรวจสอบให้แน่ใจว่า server name และ path ไปยัง webroot ตรงกันในบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 80 และพอร์ต 443 หากมีค่าที่สำคัญอื่น ๆ ที่ต้องบันทึก ให้นำไปไว้ในบล็อกเซิร์ฟเวอร์ที่สร้างใหม่ด้วย
    b) แก้ไขไฟล์กำหนดค่าดีฟอลต์ของเว็บเซิร์ฟเวอร์ ซึ่งมีชื่อว่า nginx.conf ไฟล์นี้ควรอยู่ในโฟลเดอร์ใดโฟลเดอร์หนึ่งดังนี้:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

คุณยังสามารถใช้คำสั่งนี้เพื่อค้นหาไฟล์ได้:

sudo find / -type f -iname "nginx.conf"

เมื่อหาเจอแล้ว เปิดไฟล์ด้วยคำสั่งนี้:

sudo nano nginx.conf

จากนั้น คัดลอกและวางบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 443 ที่ให้ไว้ด้านล่าง และแก้ไขไดเรกทอรีให้ตรงกับบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 80 (โดยแน่ใจว่า server name, path ไปยัง webroot และค่าที่สำคัญตรงกัน) หรือคุณสามารถคัดลอกบล็อกเซิร์ฟเวอร์ของพอร์ต 80 วางไว้ด้านล่าง แก้ไขพอร์ต และเพิ่มคำสั่งที่เกี่ยวข้องกับ SSL ที่จำเป็น

เลือกบล็อกเซิร์ฟเวอร์:

ด้านล่างนี้คือบล็อกเซิร์ฟเวอร์สำหรับเวอร์ชัน Nginx ของคุณ

หมายเหตุ: เพื่อตรวจสอบเวอร์ชันของ Nginx ให้รันคำสั่งนี้:

sudo nginx -v



หมายเหตุ: แทนที่ค่าไฟล์ชื่อ เช่น ??????_?????_chain.crt ในบล็อกเซิร์ฟเวอร์ด้วยรายละเอียดของคุณ และแก้ไขเส้นทางไปยังไฟล์เหล่านั้นโดยใช้ /path/to/


บล็อกเซิร์ฟเวอร์สำหรับ Nginx เวอร์ชัน 1.14 และต่ำกว่า:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/??????_?????_chain.crt;

ssl_certificate_key /path/to/??????_private.key;

root /path/to/webroot;

server_name ??????_?????.com;

}

หมายเหตุ: คุณสามารถระบุหลายชื่อโฮสต์ในกำหนดค่าแบบนี้ได้ เช่น:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/??????_?????_chain.crt;

ssl_certificate_key /path/to/??????_private.key;

root /path/to/webroot;

server_name ??????_?????.com www.??????_?????.your;

}

บล็อกเซิร์ฟเวอร์สำหรับ Nginx เวอร์ชัน 1.15 และสูงกว่า:

server {

listen 443 ssl;

ssl_certificate /path/to/certificate/??????_?????_chain.crt;

ssl_certificate_key /path/to/??????_private.key;

root /path/to/webroot;

server_name ??????_?????.com;

}

ssl_certificate ควรชี้ไปยังไฟล์รวมใบรับรองที่คุณสร้างไว้ก่อนหน้านี้
ssl_certificate_key ควรชี้ไปยังคีย์ส่วนตัวที่สร้างขึ้นพร้อมกับรหัส CSR
นี่คือคำแนะนำเล็กน้อยเกี่ยวกับการค้นหาคีย์ส่วนตัวบน Nginx

สำคัญ: สำหรับใบรับรองแบบ Multi-????? หรือ Wildcard คุณจะต้องเพิ่มบล็อกเซิร์ฟเวอร์แยกต่างหากสำหรับโดเมน/ซับโดเมนแต่ละรายการในใบรับรอง ให้แน่ใจว่าระบุโดเมน/ซับโดเมนนั้นพร้อมกับเส้นทางไปยังไฟล์ใบรับรองเดียวกันในบล็อกเซิร์ฟเวอร์ ตามที่อธิบายข้างต้น

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

รันคำสั่งนี้เพื่อตรวจสอบว่าไวยากรณ์ไฟล์กำหนดค่าถูกต้อง:

sudo nginx -t



หากพบข้อผิดพลาด ให้ตรวจสอบว่าคุณทำตามคำแนะนำอย่างถูกต้อง หากมีคำถาม โปรดติดต่อทีมสนับสนุนของเรา


นี่คือเคล็ดลับ: หากต้องการค้นหาไฟล์บันทึกข้อผิดพลาดเพื่อตรวจสอบปัญหา ให้รันคำสั่งนี้:

sudo nginx -T | grep 'err????_log'

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

tail /var/log/nginx/err????.log -n 20

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

sudo nginx -s reload

ตอนนี้ใบรับรอง SSL ของคุณถูกติดตั้งแล้ว คุณสามารถตรวจสอบการติดตั้งได้ที่นี่

หมายเหตุสำคัญ:

บางครั้ง หลังจากติดตั้งไฟล์ SSL ที่รวมด้วยคำสั่งบรรทัดคำสั่ง คุณอาจได้รับข้อความแสดงข้อผิดพลาด 'Nginx/Apache err????: 0906D066:PEM routines:PEM_read_bio:bad end line' ในกรณีนี้ คุณสามารถหาวิธีแก้ไขได้ในคู่มืออ้างอิง

ปัญหาทั่วไปอีกประการหนึ่งในขั้นตอนนี้คือข้อความแสดงข้อผิดพลาด 'Nginx SSL: err????:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch' คุณสามารถหาข้อมูลเพิ่มเติมและวิธีแก้ไขในบทความนี้

4. ตั้งค่าการเปลี่ยนทาง HTTPS

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

ในการทำเช่นนี้ คุณจะต้องเพิ่มบรรทัดหนึ่งในไฟล์กำหนดค่าที่มีบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 80

เคล็ดลับ:

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

sudo nginx -T | grep -iw "configuration file"

sudo nginx -T | grep -iw "include"

เส้นทางดีฟอลต์ไปยังไฟล์ conf คือ:

บนระบบปฏิบัติการ Linux แบบ RHEL-base: /etc/nginx/conf.d/default.conf

บนระบบปฏิบัติการ Linux แบบ Debian-base: /etc/nginx/sites-enabled/default

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

sudo nano name_of_the_file

เมื่อคุณพบไฟล์ที่มีบล็อกเซิร์ฟเวอร์สำหรับพอร์ต 80 (พอร์ต HTTP ดีฟอลต์) ให้เพิ่มบรรทัดนี้เข้าไป:

return 301 https://$server_name$request_uri;

หมายเหตุ: กฎการเปลี่ยนทางด้านบนควรอยู่ในบรรทัดสุดท้ายของบล็อกเซิร์ฟเวอร์

  • return คือคำสั่งหลักที่ใช้
  • 301 คือการเปลี่ยนทางถาวร (302 คือแบบชั่วคราว)
  • https คือประเภท scheme ที่ระบุเจาะจง (ตรงไปตรงมา แทนตัวแปร $scheme)
  • $server_name ตัวแปรนี้จะใช้โดเมนที่ระบุในคำสั่ง server_name
  • $request_uri ตัวแปรนี้ใช้จับคู่เส้นทางไปยังหน้า/ส่วนที่ร้องขอของเว็บไซต์ (ทุกอย่างหลังชื่อโดเมน)
นี่คือตัวอย่างบล็อกเซิร์ฟเวอร์ที่ใช้การเปลี่ยนทาง HTTPS:

การเปลี่ยนทางถาวรไปยัง HTTPS

server {

listen 80;

server_name ??????_?????.com www.??????_?????.your;

return 301 https://$server_name$request_uri;

}

การเปลี่ยนทางถาวรไปยัง HTTPS แบบไม่ใช้ www

server {

listen 80;

server_name ??????_?????.com www.??????_?????.your;

return 301 https://??????_?????.com$request_uri;

}

การเปลี่ยนทางถาวรไปยัง HTTPS แบบมี www

server {

listen 80;

server_name ??????_?????.com www.??????_?????.your;

return 301 https://www.??????_?????.your$request_uri;

}

การเปลี่ยนทางชั่วคราวไปยัง HTTPS แบบไม่ใช้ www

server {

listen 80;

server_name ??????_?????.com www.??????_?????.your;

return 302 https://??????_?????.com$request_uri;

}

คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการเปลี่ยนทางใน Nginx ได้ที่นี่
????????????????????? ??????????????????? ??????????
????????? © 2006-2026 NICENIC INTERNATIONAL GROUP CO., LIMITED ????????????????????