บทนำ
Let's Encrypt เป็นผู้ออกใบรับรอง (CA) ที่ออกใบรับรอง SSL / TLS ฟรี Lighttpd เป็นเว็บเซิร์ฟเวอร์น้ำหนักเบาที่ทำงานบนทรัพยากรต่ำ Let's Encrypt SSL certificate สามารถติดตั้งได้อย่างง่ายดายบนเซิร์ฟเวอร์ Lighttpd โดยใช้ Certbot ไคลเอ็นต์ซอฟต์แวร์ที่ทำงานโดยอัตโนมัติกระบวนการส่วนใหญ่ในการรับใบรับรอง
Prerequistes
บทช่วยสอนนี้สมมติว่าคุณได้สร้างอินสแตนซ์ Vultr Cloud Compute ที่ติดตั้ง Lighttpd บน Ubuntu 16.04แล้วมีชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ของคุณและเข้าสู่ระบบในฐานะผู้ใช้รูท
ขั้นตอนที่หนึ่ง: ติดตั้ง Certbot
ขั้นตอนแรกคือการติดตั้ง Certbot เพิ่มที่เก็บ Certbot กดEnter
เมื่อได้รับแจ้งให้ยืนยัน
add-apt-repository ppa:certbot/certbot
ติดตั้ง Certbot
apt-get update
apt-get install certbot
ขั้นตอนที่สอง: รับใบรับรอง SSL
เมื่อติดตั้ง Certbot แล้วคุณสามารถรับใบรับรอง SSL ได้ เรียกใช้คำสั่งต่อไปนี้แทนที่example.com
ด้วยชื่อโดเมนของคุณเอง:
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
ดำเนินการต่อผ่านตัวติดตั้งแบบโต้ตอบ
ขั้นตอนที่สาม: ไฟล์ใบรับรองการติดตั้งสำหรับใช้กับ Lighttpd
Certbot จะวางไฟล์ใบรับรองที่ได้รับ/etc/letsencrypt/live/example.com
มา คุณจะต้องให้สิทธิ์ผู้ใช้ Lighttpd เข้าถึงไดเรกทอรีนี้
chown :www-data /etc/letsencrypt
chown :www-data /etc/letsencrypt/live
chmod g+x /etc/letsencrypt
chmod g+x /etc/letsencrypt/live
Lighttpd ต้องการใบรับรองและไพรเวตคีย์ในไฟล์เดียว คุณจะต้องรวมสองไฟล์เข้าด้วยกัน เรียกใช้คำสั่งต่อไปนี้แทนที่example.com
ด้วยชื่อโดเมนของคุณเอง
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
privkey.pem
และไฟล์จะถูกรวมและบันทึกเป็นcert.pem
merged.pem
เมื่อไฟล์ใบรับรองของคุณพร้อมคุณสามารถดำเนินการต่อและกำหนดค่า Lighttpd เพื่อใช้ใบรับรอง SSL เปิดไฟล์การกำหนดค่า Lighttpd เพื่อแก้ไข
nano /etc/lighttpd/lighttpd.conf
เพิ่มบล็อกต่อไปนี้ที่ท้ายไฟล์แทนที่example.com
ด้วยชื่อโดเมนของคุณเอง
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem"
ssl.pemfile = "/etc/letsencrypt/live/example.com/merged.pem"
}
ขั้นตอนที่ห้า: บังคับใช้ SSL
เพื่อความปลอดภัยที่เพิ่มขึ้นคุณสามารถบังคับให้เซิร์ฟเวอร์ Lighttpd ของคุณกำหนดเส้นทางคำขอ HTTP ทั้งหมดไปยัง HTTPS เปิดlighttpd.conf
ไฟล์เพื่อแก้ไข
nano /etc/lighttpd/lighttpd.conf
เพิ่มบล็อกต่อไปนี้ที่ท้ายไฟล์
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
คุณจะต้องรีสตาร์ท Lighttpd Sever เพื่อให้การเปลี่ยนแปลงมีผล
systemctl restart lighttpd
ต่ออายุใบรับรอง SSL
Let's เข้ารหัสปัญหาใบรับรอง SSL ที่มีอายุ 90 วัน คุณจะต้องต่ออายุใบรับรองก่อนที่จะหมดอายุเพื่อหลีกเลี่ยงข้อผิดพลาดใบรับรอง คุณสามารถต่ออายุใบรับรองด้วย Certbot
certbot renew
คุณจะต้องรวมใบรับรองและรหัสส่วนตัวสำหรับ Lighttpd เรียกใช้คำสั่งต่อไปนี้แทนที่example.com
ด้วยชื่อโดเมนของคุณ
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
ใบรับรองของคุณจะต่ออายุอีก 90 วัน