การเปิดใช้ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การติดตั้ง Nginx/Apache
- การโฮสต์เว็บไซต์แบบสแตติก
- การตั้งค่าโฮสต์เสมือนเบื้องต้น
- การเปิดใช้ HTTPS ด้วย Let's Encrypt