สิ่งที่ต้องเตรียมก่อนติดตั้ง SSL Certificate บน Nginx
ก่อนอื่นต้อง Generate CSR (Certificate Sign Request) และ Private Key ก่อน โดยคลิกเลือกเมนูนี้ --->
Generate CSR & Private Key
1. Copy CSR ที่ Gen ได้ Save as yourdomain.csr (เช่น siamecohost.csr)
2. Copy Private key ที่ Gen ได้ Save as private.key
3. ส่ง CSR files ให้
ตัวแทนจำหน่าย SSL Certificate ที่ท่านสั่งซื้อ เพื่อนำไปออก SSL Certificate
ขั้นตอนการติดตั้ง SSL Certificate
เตรียมไฟล์ดังต่อไปนี้ให้พร้อม
1. private key file - private.key
ไฟล์ที่ได้จากการ Generate CSR & Private Key
2. ssl certificate file - ssl_certificate.crt (หรือ Public.crt)
ทำการแตก .Zip ไฟล์ ที่ทาง
ตัวแทนจำหน่าย SSL Certificate ที่ท่านสั่งซื้อ ส่งมาให้ จากนั้นเปิดไฟล์ ServerCertificate.cer, CACertificate-INTERMEDIATE-1.cer และ CACertificate-ROOT-2.cer ด้วย Notepad (ไม่แนะนำให้ใช้ Notepad++)
ตัวอย่างไฟล์ RapidSSL มีไฟล์ .cer 3 ไฟล์ ให้นำมาต่อกันเป็นไฟล์เดียว แล้ว Save as ... ssl_certificat.crt
ตัวอย่างไฟล์ Comodo SSL มีไฟล์ .crt 4 ไฟล์ ให้นำมาต่อกันเป็นไฟล์เดียว แล้ว Save as ... ssl_certificat.crt
ตัวอย่างไฟล์ ssl_certificate.crt = ServerCertificate.cer + CACertificate-INTERMEDIATE-1.cer + CACertificate-ROOT-2.cer ที่วางต่อกันเรียบร้อยแล้ว
SSL Certificate ต้องอยุ่ด้านบนสุด
เพื่อป้องกันความผิดพลาด ขอแนะนำให้ Upload ไฟล์ ServerCertificate.cer, CACertificate-INTERMEDIATE-1.cer และ CACertificate-ROOT-2.cer ขึ้นไปไว้บน Server จากนั้นพิมพ์คำสั่งดังต่อไปนี้
$ cat CACertificate-INTERMEDIATE-1.cer >> ServerCertificate.cer
$ cat CACertificate-ROOT-2.cer >> ServerCertificate.cer
$ rename ServerCertificate.cer ssl_certificate.crt
3. Upload / Transfer ไฟล์ private.key และ ssl_certificate.crt ขึ้นไปไว้บน Server ใน folder /etc/ssl/ ตามนี้
ssl_certificat.crt --> /etc/ssl/ssl_certificate.crt
private.key --> /etc/ssl/private.key
แก้ไข Nginx virtual hosts file
4. เปิดไฟล์ /etc/nginx/sites-available/your.domain.com บน Server
ใช้คำสั่ง $ sudo vi /etc/nginx/sites-available/your.domain.com เพื่อเปิดไฟล์ แล้วแก้ไขตามนี้ (วิธีใช้งาน vi editor เบื้องต้น -
https://go.shr.lc/2GdFgSJ)
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/ssl_certificate.crt;
ssl_certificate_key /etc/ssl/private.key;
server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root /home/www/public_html/your.domain.com/public/;
index index.html;
}
}
5. เสร็จแล้วทำการ Save ไฟล์ virtual host (ถ้าใช้ vi editor พิมพ์ :wq)
6. Restart Nginx. โดยพิมพ์คำสั่ง $ sudo /etc/init.d/nginx restart
7. ทำการทดสอบโดยเข้าไปที่ https://yourdomain.com
8. ตรวจสอบการติตตั้ง SSL Certificate SSL Checker