0Pricing
Linux Server Deployment & SSH Mastery · บทเรียน

การเปิดใช้ HTTPS ด้วย Let's Encrypt

รักษาความปลอดภัยให้เว็บเซิร์ฟเวอร์ด้วยใบรับรอง TLS ฟรีจาก Let's Encrypt ติดตั้ง Certbot ขอรับและต่ออายุใบรับรองอัตโนมัติ และกำหนดค่า Nginx หรือ Apache ให้ให้บริการผ่าน HTTPS พร้อมเปลี่ยนเส้นทางจาก HTTP

การเปิดใช้ HTTPS ด้วย Let's Encrypt เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใด HTTPS จึงขาดไม่ได้

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

HTTPS เข้ารหัสการรับส่งข้อมูลด้วยใบรับรอง TLS ด้วยความช่วยเหลือจาก Let's Encrypt ใบรับรองเหล่านี้จึงใช้งานได้ฟรีและดำเนินการโดยอัตโนมัติ

Let's Encrypt ทำงานอย่างไร

Let's Encrypt เป็นหน่วยงานออกใบรับรองที่ออกใบรับรองอายุสั้น (90 วัน) ให้ฟรี เพื่อพิสูจน์ว่าคุณควบคุมโดเมนอยู่ ระบบจะใช้โพรโทคอล ACME พร้อมการท้าทายแบบอัตโนมัติ

ไคลเอนต์ชื่อ Certbot จะจัดการขอ ติดตั้ง และต่ออายุใบรับรองให้คุณ

ข้อกำหนดเบื้องต้น

ก่อนขอใบรับรอง ตรวจสอบให้แน่ใจว่า:

  • ระเบียน DNS A ของโดเมนชี้ไปยัง IP ของเซิร์ฟเวอร์
  • พอร์ต 80 และ 443 เปิดอยู่ในไฟร์วอลล์
  • เว็บเซิร์ฟเวอร์กำลังทำงานและให้บริการโดเมนดังกล่าวอยู่

การท้าทายต้องเข้าถึงพอร์ต 80 ได้จากอินเทอร์เน็ต

sudo ufw allow 'Nginx Full'
dig +short yourdomain.com

การติดตั้ง Certbot

Certbot พร้อมใช้งานในรูปแบบแพ็กเกจ และมีปลั๊กอินสำหรับ Nginx กับ Apache ที่ช่วยทำให้การเปลี่ยนแปลงการตั้งค่าเป็นอัตโนมัติ

sudo apt install certbot python3-certbot-nginx
# For Apache:
sudo apt install certbot python3-certbot-apache

การรับใบรับรอง (Nginx)

ปลั๊กอิน Nginx จะรับใบรับรองและแก้ไข server block ให้ใช้ใบรับรองนั้น ระบุโดเมนของคุณด้วย -d

Certbot จะตรวจหา server block ที่ตรงกันโดยอัตโนมัติ

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

การขอใบรับรอง (Apache)

สำหรับ Apache ขั้นตอนการทำงานเหมือนกัน โดยใช้ปลั๊กอิน apache Certbot จะอัปเดตโฮสต์เสมือนของคุณเพื่อเปิดใช้งาน SSL

sudo certbot --apache -d yourdomain.com

การบังคับเปลี่ยนเส้นทางไปยัง HTTPS

ระหว่างการตั้งค่า Certbot จะถามว่าต้องการเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS หรือไม่ ให้เลือกใช่ หากข้ามขั้นตอนนี้ไป ให้เพิ่มการเปลี่ยนเส้นทางด้วยตนเองในบล็อกเซิร์ฟเวอร์ HTTP

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

การต่ออายุอัตโนมัติ

ใบรับรองจะหมดอายุหลังจาก 90 วัน แต่ Certbot จะติดตั้งตัวตั้งเวลา systemd (หรืองาน cron) เพื่อต่ออายุใบรับรองโดยอัตโนมัติ คุณสามารถทดสอบกระบวนการต่ออายุอย่างปลอดภัยด้วยการจำลองการทำงาน

sudo certbot renew --dry-run
systemctl list-timers | grep certbot

การตรวจสอบใบรับรองของคุณ

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

sudo certbot certificates
curl -svI https://yourdomain.com 2>&1 | grep -i 'subject\|expire'

การเสริมความแข็งแกร่งให้ TLS

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

เครื่องมืออย่าง Mozilla's SSL Configuration Generator จะสร้างการตั้งค่าที่พร้อมนำไปวางใช้งาน

ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security 'max-age=63072000' always;

แนวทางปฏิบัติที่ดีที่สุด

เรียกใช้ HTTPS อย่างน่าเชื่อถือ:

  • เปลี่ยนเส้นทาง HTTP ไปยัง HTTPS เสมอ
  • ทดสอบการต่ออายุด้วย --dry-run หลังการตั้งค่า
  • เปิดทั้งพอร์ต 80 และ 443 โดยพอร์ต 80 จำเป็นสำหรับการต่ออายุ
  • เปิดใช้ HSTS และใช้เฉพาะโพรโทคอล TLS รุ่นใหม่

ตรวจสอบอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับ HTTPS ของคุณ

สรุปทบทวน

คุณทำให้เว็บเซิร์ฟเวอร์ของคุณปลอดภัยด้วย TLS ฟรีแล้ว:

  • ติดตั้ง Certbot พร้อมปลั๊กอิน Nginx/Apache
  • ขอใบรับรองด้วย certbot --nginx -d
  • บังคับเปลี่ยนเส้นทางจาก HTTP → HTTPS
  • ยืนยัน การต่ออายุอัตโนมัติ ด้วยการจำลองการทำงาน

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

คำถามที่พบบ่อย

บทเรียน “การเปิดใช้ HTTPS ด้วย Let's Encrypt” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเปิดใช้ HTTPS ด้วย Let's Encrypt” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเปิดใช้ HTTPS ด้วย Let's Encrypt”

รักษาความปลอดภัยให้เว็บเซิร์ฟเวอร์ด้วยใบรับรอง TLS ฟรีจาก Let's Encrypt ติดตั้ง Certbot ขอรับและต่ออายุใบรับรองอัตโนมัติ และกำหนดค่า Nginx หรือ Apache ให้ให้บริการผ่าน HTTPS พร้อมเปลี่ยนเส้นทางจาก HT… คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การเปิดใช้ HTTPS ด้วย Let's Encrypt” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม

ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การติดตั้ง Nginx/Apache
  2. การโฮสต์เว็บไซต์แบบสแตติก
  3. การตั้งค่าโฮสต์เสมือนเบื้องต้น
  4. การเปิดใช้ HTTPS ด้วย Let's Encrypt
← กลับไปที่ Linux Server Deployment & SSH Mastery