ข้ามไปยังเนื้อหาหลัก
โลโก้บริษัท เมต้าอินเตอร์เวิร์ค จำกัด (Meta Interwork Co., Ltd.)

SSL/TLS INSTALLATION PLAYBOOK · NGINX · APACHE · IIS · CPANEL

คู่มือติดตั้ง SSL Certificate ฉบับสมบูรณ์และแนวทางปฏิบัติระดับองค์กร

รวบรวมขั้นตอนการติดตั้งใบรับรอง SSL/TLS อย่างถูกต้องตั้งแต่การเตรียมไฟล์ Fullchain & PKCS#12, ตัวอย่างคอนฟิกที่ใช้งานได้จริงบน NGINX, Apache และ Microsoft IIS จนถึงการตั้งค่า TLS 1.3 และตรวจสอบความปลอดภัยหลังติดตั้ง

1. รู้จักไฟล์สำคัญก่อนเริ่มติดตั้ง (Certificate File Anatomy)

.key (Private Key)

กุญแจลับประจำเซิร์ฟเวอร์

สร้างขึ้นพร้อม CSR บนเซิร์ฟเวอร์ของท่าน ห้ามส่งมอบให้บุคคลอื่นและต้องตั้งสิทธิ์ไฟล์แบบจำกัด (chmod 600)

.crt / .cer (Leaf Certificate)

ใบรับรองโดเมนที่ได้รับจาก CA

ไฟล์ใบรับรองหลักที่ลงนามให้โดเมนของท่าน ใช้คู่กับ Private Key ที่ตรงกันเท่านั้น

ca_bundle.crt (Intermediate CA)

สายโซ่ความน่าเชื่อถือ (Chain)

ใบรับรองตัวกลางที่เชื่อมโยงใบรับรองโดเมนไปยัง Root CA เพื่อให้เบราว์เซอร์ทุกแพลตฟอร์มและ API Client เชื่อถือได้ครบถ้วน

.pfx / .p12 (PKCS#12)

แพ็กเกจรวมสำหรับ Windows / IIS

ไฟล์ไบนารีที่รวม Private Key + Leaf Certificate + Intermediate CA ไว้ในไฟล์เดียวพร้อมรหัสผ่าน

2. ขั้นตอนการติดตั้งแยกตามแพลตฟอร์มเว็บเซิร์ฟเวอร์

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

รูปแบบไฟล์ที่ใช้งาน
PEM Fullchain (.pem / .crt) + Private Key (.key)
พอร์ตและการเชื่อมต่อ
443/tcp (HTTPS + HTTP/2)
คำสั่งตรวจสอบ / Reload
sudo nginx -t && sudo systemctl reload nginx
ขั้นตอนที่ 1NGINX

รวมไฟล์ Leaf Certificate และ Intermediate CA เป็น Fullchain

NGINX ไม่ได้แยก Directive สำหรับ Intermediate CA ออกจากใบรับรองหลัก จึงต้องนำไฟล์ใบรับรองโดเมนมาต่อด้านบนสุด ตามด้วยไฟล์ Intermediate CA Bundle ตามลำดับที่ถูกต้อง

  • ห้ามนำ Root CA มาต่อท้ายโดยไม่จำเป็น และห้ามสลับลำดับให้ Intermediate ขึ้นก่อน Leaf Certificate
  • ล็อกสิทธิ์ไฟล์ Private Key ด้วย chmod 600 เพื่อป้องกันผู้ใช้ทั่วไปบนระบบอ่านข้อมูลกุญแจลับ
Shell — สร้าง fullchain.pem และตั้งค่า Permission
sudo mkdir -p /etc/nginx/ssl
# ลำดับที่ถูกต้อง: Leaf Certificate อยู่บน ตามด้วย Intermediate CA Bundle
cat example_co_th.crt intermediate_ca_bundle.crt | sudo tee /etc/nginx/ssl/fullchain.pem > /dev/null

# ย้าย Private Key และตั้งสิทธิ์อ่านเฉพาะ root
sudo cp example_co_th.key /etc/nginx/ssl/example_co_th.key
sudo chmod 600 /etc/nginx/ssl/example_co_th.key
sudo chown root:root /etc/nginx/ssl/example_co_th.key
เคล็ดลับจากทีมวิศวกร: ตรวจสอบลำดับใน fullchain.pem ได้ด้วย: grep "BEGIN CERTIFICATE" -c /etc/nginx/ssl/fullchain.pem (ควรมี 2–3 บล็อก โดยบล็อกแรกคือโดเมนของคุณ)
ขั้นตอนที่ 2NGINX

ตั้งค่า Server Block พอร์ต 443 และ Redirect จาก HTTP (80)

กำหนดค่า TLS 1.2 และ TLS 1.3 พร้อม Perfect Forward Secrecy (ECDHE), เปิดใช้งาน OCSP Stapling และตั้งค่า HSTS header สำหรับความปลอดภัยระดับ Production

  • ปิด SSLv3, TLS 1.0 และ TLS 1.1 ทั้งหมดเพื่อผ่านเกณฑ์ PCI-DSS และมาตรฐานเบราว์เซอร์สมัยใหม่
  • เปิด HTTP -> HTTPS 301 Permanent Redirect เพื่อให้ทราฟฟิกทั้งหมดเข้ารหัสอัตโนมัติ
/etc/nginx/sites-available/example.co.th.conf
server {
    listen 80;
    listen [::]:80;
    server_name example.co.th www.example.co.th;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name example.co.th www.example.co.th;

    ssl_certificate     /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/example_co_th.key;

    # มาตรฐาน TLS 1.2 & TLS 1.3 และ Cipher Suites ที่ปลอดภัย
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
    ssl_prefer_server_ciphers off;

    # Session Cache & OCSP Stapling
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/nginx/ssl/intermediate_ca_bundle.crt;
    resolver 1.1.1.1 8.8.8.8 valid=300s;

    # HSTS (ทดสอบให้มั่นใจก่อนเพิ่ม includeSubDomains / preload)
    add_header Strict-Transport-Security "max-age=31536000" always;

    root /var/www/example.co.th/public;
    index index.html index.php;
}
ขั้นตอนที่ 3NGINX

ทดสอบ Syntax, เปิด Firewall และตรวจสอบ Certificate Chain

ทดสอบความถูกต้องของไฟล์คอนฟิกก่อนรีโหลด Service เพื่อไม่ให้เกิด Downtime และตรวจเช็ก Chain จากภายนอกทันทีหลังติดตั้ง

  • ตรวจสอบ Firewall (UFW / Firewalld / Cloud Security Group) ว่าอนุญาตพอร์ต 443/tcp แล้ว
  • ใช้คำสั่ง openssl s_client หรือเครื่องมือ SSL Checker เพื่อยืนยันว่า Verify return code: 0 (ok)
Shell — ตรวจสอบและรีโหลด NGINX
sudo ufw allow 443/tcp
sudo nginx -t
sudo systemctl reload nginx

# ทดสอบ TLS Handshake และ Chain
openssl s_client -connect example.co.th:443 -servername example.co.th -brief

3. แนวทางปฏิบัติที่ดีด้านความปลอดภัย (Best Practices)

จัดลำดับ Fullchain ให้ถูกต้องเสมอ

ใน NGINX และ Ingress ให้วาง Leaf Certificate ไว้บนสุด ตามด้วย Intermediate CA ห้ามสลับลำดับและไม่จำเป็นต้องรวม Root CA เพื่อลดขนาด Handshake

เปิดใช้เฉพาะ TLS 1.2 และ TLS 1.3

ปิด SSLv3, TLS 1.0 และ TLS 1.1 ทั้งหมด ใช้ Cipher Suites แบบ ECDHE เพื่อรองรับ Perfect Forward Secrecy (PFS) และลด Latency ด้วย TLS 1.3 0-RTT/1-RTT

ปกป้อง Private Key และตรวจจับก่อนเปิดใช้

เก็บรักษา .key ด้วยสิทธิ์ root เท่านั้น (chmod 600) ห้าม Commit ลง Git Repository และตรวจสอบว่า Modulus ของ Key ตรงกับ Certificate ก่อน Reload Service

ตั้งค่า OCSP Stapling, HSTS และทดสอบ Chain

เปิดใช้ OCSP Stapling เพื่อลดภาระการตรวจ Revocation และใช้เครื่องมือ SSL Checker ทดสอบสายโซ่หลังติดตั้งทุกครั้ง รวมถึงวางระบบแจ้งเตือนล่วงหน้า 30–60 วัน

วิธีเช็กว่า Private Key ตรงกับ Certificate ก่อนติดตั้ง

หาก Modulus หรือ Public Key Hash ของไฟล์ .crt และ .key ไม่ตรงกัน เว็บเซิร์ฟเวอร์จะไม่สามารถเริ่มทำงานได้ สามารถตรวจยืนยันด้วย OpenSSL ก่อนรีโหลด:

# ค่า SHA256 ของทั้ง 2 คำสั่งต้องตรงกัน 100%
openssl x509 -noout -pubkey -in example_co_th.crt | openssl sha256
openssl pkey -pubout -in example_co_th.key | openssl sha256
ต้องการให้ทีมวิศวกรช่วยติดตั้งให้?

Meta Interwork มีบริการติดตั้งและตั้งค่า TLS 1.2/1.3 บน NGINX, Apache, IIS, Cloud และ Load Balancer เริ่มต้น ฿1,500 / เซิร์ฟเวอร์

บทความและคู่มือที่เกี่ยวข้องในศูนย์ความรู้

ขอใบเสนอราคา