วิธีโฮสต์เว็บไซต์ด้วย HTTPS โดยใช้แคดดี้บน Linux
เว็บเซิร์ฟเวอร์เป็นแอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่ออกแบบมาเพื่อประมวลผลคำขอ HTTP ระหว่างไคลเอนต์และเซิร์ฟเวอร์ HTTP เป็นโปรโตคอลเครือข่ายพื้นฐานและใช้กันอย่างแพร่หลาย
Apache HTTP Server มีบทบาทสำคัญในการออกแบบเว็บในปัจจุบัน เพียงแห่งเดียวก็มีส่วนแบ่งการตลาด 37.3% Nginx อยู่ในอันดับที่สองในรายการโดยมีส่วนแบ่งการตลาด 32.4% Microsoft IIS และ LiteSpeed อยู่ที่อันดับ 3 และ 4 โดยมีส่วนแบ่งตลาด 7.8% และ 6.9% ตามลำดับ
เมื่อเร็วๆ นี้ ฉันพบเว็บเซิร์ฟเวอร์ชื่อ แคดดี้ เมื่อฉันพยายามสอบถามเกี่ยวกับฟีเจอร์ของมันและทดสอบใช้งาน ฉันต้องบอกว่ามันน่าทึ่งมาก เว็บเซิร์ฟเวอร์ที่พกพาสะดวกและไม่ต้องการไฟล์คอนฟิกูเรชันใดๆ ฉันคิดว่ามันเป็นโครงการที่เจ๋งมากและอยากจะแบ่งปันกับคุณ เราได้ทดลองใช้ แคดดี้ แล้ว!
แคดดี้คืออะไร?
แคดดี้เป็นอีกทางเลือกหนึ่งของเว็บเซิร์ฟเวอร์ apache ที่กำหนดค่าและใช้งานได้ง่าย Matthew Holt – หัวหน้าโครงการของ Caddy อ้างว่า Caddy เป็นเว็บเซิร์ฟเวอร์ที่ใช้งานทั่วไป โดยอ้างว่าได้รับการออกแบบมาสำหรับมนุษย์ และน่าจะเป็นเพียงแห่งเดียวในประเภทนี้
แคดดี้ เป็นเว็บเซิร์ฟเวอร์แรกเดียวที่สามารถรับและต่ออายุใบรับรอง SSL/TLS โดยอัตโนมัติโดยใช้ Let's Encrypt
คุณสมบัติของแคดดี้
- คำขอ HTTP ที่รวดเร็วโดยใช้ HTTP/2
- เว็บเซิร์ฟเวอร์ที่มีความสามารถพร้อมการกำหนดค่าน้อยที่สุดและการปรับใช้ที่ไม่ยุ่งยาก
- การเข้ารหัส TLS ช่วยให้มั่นใจได้ถึงการเข้ารหัสระหว่างแอปพลิเคชันการสื่อสารและผู้ใช้ผ่านทางอินเทอร์เน็ต คุณสามารถใช้คีย์และใบรับรองของคุณเองได้
- ง่ายต่อการปรับใช้/ใช้งาน ไฟล์เดียวเท่านั้นและไม่ต้องพึ่งพาแพลตฟอร์มใดๆ
- ไม่จำเป็นต้องติดตั้ง
- ปฏิบัติการแบบพกพา
- ทำงานบนซีพียู/คอร์หลายตัว
- เทคโนโลยี WebSockets ขั้นสูง – เซสชันการสื่อสารเชิงโต้ตอบระหว่างเบราว์เซอร์และเซิร์ฟเวอร์
- เอกสาร Markdown ของเซิร์ฟเวอร์ได้ทันที
- รองรับ IPv6 ล่าสุดอย่างเต็มที่
- สร้างบันทึกในรูปแบบที่กำหนดเอง
- ให้บริการ FastCGI, Reverse Proxy, เขียนใหม่และเปลี่ยนเส้นทาง, ล้าง URL, การบีบอัด Gzip, การเรียกดูไดเรกทอรี, โฮสต์เสมือน และส่วนหัว
- พร้อมใช้งานสำหรับแพลตฟอร์มที่รู้จักทั้งหมด – Windows, Linux, BSD, Mac, Android
อะไรทำให้แคดดี้แตกต่าง?
- แคดดี้ตั้งเป้าที่จะให้บริการเว็บอย่างที่ควรจะเป็นในปี 2020 ไม่ใช่รูปแบบเดิมๆ
- มันได้รับการออกแบบมาไม่เพียงแต่เพื่อรองรับคำขอ HTTP เท่านั้น แต่ยังรวมถึงมนุษย์ด้วย
- เต็มไปด้วยคุณสมบัติล่าสุด - HTTP/2, IPv6, Markdown, WebSockets, FastCGI, เทมเพลตและคุณสมบัติอื่น ๆ ที่พร้อมใช้งานทันที
- เรียกใช้ไฟล์ปฏิบัติการโดยไม่จำเป็นต้องติดตั้ง
- เอกสารรายละเอียดพร้อมคำอธิบายทางเทคนิคน้อยที่สุด
- พัฒนาขึ้นโดยคำนึงถึงความต้องการและความสะดวกของนักออกแบบ นักพัฒนา และบล็อกเกอร์
- รองรับ Virtual Host – กำหนดไซต์ได้มากเท่าที่คุณต้องการ
- เหมาะสำหรับคุณ ไม่ว่าเว็บไซต์ของคุณจะเป็นแบบคงที่หรือไดนามิกก็ตาม หากคุณเป็นมนุษย์มันก็เพื่อคุณ
- คุณมุ่งเน้นไปที่สิ่งที่จะประสบความสำเร็จและไม่ใช่วิธีการบรรลุเป้าหมาย
- ความพร้อมใช้งานของการสนับสนุนสำหรับแพลตฟอร์มส่วนใหญ่ – Windows, Linux, Mac, Android, BSD
- โดยปกติแล้ว คุณจะมีไฟล์แคดดี้หนึ่งไฟล์ต่อไซต์
- ตั้งค่าภายในเวลาไม่ถึง 1 นาที แม้ว่าคุณจะไม่ค่อยเป็นมิตรกับคอมพิวเตอร์ก็ตาม
สภาพแวดล้อมการทดสอบ
ฉันจะทดสอบบนเซิร์ฟเวอร์ CentOS เช่นเดียวกับเซิร์ฟเวอร์ Debian แต่คำแนะนำเดียวกันนี้ใช้ได้กับ RHEL และ Debian ด้วย การแจกแจงตาม สำหรับเซิร์ฟเวอร์ทั้งสอง ฉันจะใช้โปรแกรมปฏิบัติการ 64 บิต
Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0
การติดตั้ง Caddy Web Server ใน Linux
ไม่ว่าคุณจะอยู่บนแพลตฟอร์มใดและสถาปัตยกรรมใดที่คุณใช้ แคดดี้จัดเตรียมแพ็คเกจไบนารี่ที่พร้อมใช้งาน ซึ่งสามารถติดตั้งได้โดยใช้ตัวจัดการแพ็คเกจเริ่มต้นของคุณดังที่แสดง
ติดตั้งแคดดี้ใน Fedora, RedHat, CentOS
เราจะติดตั้งเว็บเซิร์ฟเวอร์ Caddy เวอร์ชันล่าสุดจากพื้นที่เก็บข้อมูล CORP ภายใต้ Fedora หรือ RHEL/CentOS 8
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
บน RHEL/CentOS 7 ให้ใช้คำสั่งต่อไปนี้
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
ติดตั้งแคดดี้ใน Debian และ Ubuntu
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy
เมื่อติดตั้งแคดดี้เว็บเซิร์ฟเวอร์แล้ว คุณสามารถเริ่มต้น เปิดใช้งาน และตรวจสอบสถานะของบริการได้โดยใช้คำสั่ง systemctl ต่อไปนี้
systemctl start caddy
systemctl enable caddy
systemctl status caddy
ตอนนี้เปิดเบราว์เซอร์ของคุณแล้วชี้เบราว์เซอร์ของคุณไปยังที่อยู่ต่อไปนี้ และคุณควรจะเห็นหน้ายินดีต้อนรับแคดดี้
http://Server-IP
OR
http://yourdomain.com
การตั้งค่าโดเมนกับแคดดี้
หากต้องการตั้งค่าโดเมน ขั้นแรก คุณต้องชี้ระเบียน A/AAAA DNS ของโดเมนไปที่เซิร์ฟเวอร์นี้ในแผงควบคุม DNS ของคุณ จากนั้น สร้างไดเรกทอรีรากของเอกสารสำหรับเว็บไซต์ของคุณ "example.com"
ใต้โฟลเดอร์ /var/www/html
ดังที่แสดง
mkdir /var/www/html/example.com
หากคุณใช้ SELinux คุณจะต้องเปลี่ยนบริบทความปลอดภัยของไฟล์สำหรับเนื้อหาเว็บ
chcon -t httpd_sys_content_t /var/www/html/example.com -R
chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R
ตอนนี้ให้เปิดและแก้ไขไฟล์การกำหนดค่าแคดดี้ที่ /etc/caddy/Caddyfile
vim /etc/caddy/Caddyfile
แทนที่ :80
ด้วยชื่อโดเมนของคุณและเปลี่ยนรากของไซต์เป็น /var/www/html/example.com
ตามที่แสดง
โหลดบริการแคดดี้อีกครั้งเพื่อบันทึกการเปลี่ยนแปลงการกำหนดค่า
systemctl reload caddy
ตอนนี้สร้างหน้า HTML ใดก็ได้ (คุณสามารถสร้างหน้าเองได้) และบันทึกหน้านั้นไว้ใต้ไดเร็กทอรีรากของเอกสารสำหรับเว็บไซต์ของคุณ
touch /var/www/html/example.com/index.html
เพิ่มโค้ด Html ตัวอย่างต่อไปนี้ลงในหน้าดัชนีของเว็บไซต์ของคุณ
echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html
ตอนนี้เยี่ยมชมเว็บไซต์ของคุณอีกครั้งเพื่อดูหน้าของคุณ
หากทุกอย่างได้รับการกำหนดค่าอย่างถูกต้อง โดเมนของคุณจะถูกให้บริการผ่านโปรโตคอล HTTPS ซึ่งบ่งชี้ว่าการเชื่อมต่อของคุณปลอดภัย
บทสรุป
หากคุณเป็นมือใหม่และต้องการตั้งค่าเว็บเซิร์ฟเวอร์โดยไม่ทำให้การกำหนดค่ายุ่งยาก เครื่องมือนี้เหมาะสำหรับคุณ แม้ว่าคุณจะเป็นผู้ใช้ที่มีประสบการณ์ซึ่งต้องการเว็บเซิร์ฟเวอร์ที่รวดเร็วและเรียบง่าย Caddy ก็คุ้มค่าที่จะลอง ด้วยการกำหนดค่าเพียงเล็กน้อย คุณยังอาจตั้งค่าการอนุญาตโฟลเดอร์ ควบคุมการตรวจสอบสิทธิ์ หน้าแสดงข้อผิดพลาด Gzip การเปลี่ยนเส้นทาง HTTP และอื่นๆ ได้ หากคุณต้องการตั้งค่าเว็บเซิร์ฟเวอร์ที่ซับซ้อนและขั้นสูงยิ่งขึ้น
อย่าใช้แคดดี้มาแทนที่ Apache หรือ Nginx แคดดี้ไม่ได้ออกแบบมาเพื่อรองรับสภาพแวดล้อมที่มีปริมาณการใช้งานสูง ได้รับการออกแบบมาเพื่อการตั้งค่าเว็บเซิร์ฟเวอร์ที่รวดเร็ว เมื่อคุณกังวลเรื่องความเร็วและความน่าเชื่อถือ
อ้างอิง
คู่มือผู้ใช้ฉบับสมบูรณ์/เอกสารฉบับเต็มของ Caddy Web Server
เราได้นำเอกสารนี้มาซึ่งมีวัตถุประสงค์เพื่อตรวจสอบอย่างรวดเร็วและคำแนะนำในการติดตั้งพร้อมรูปภาพในกรณีที่จำเป็น หากคุณพบข้อดี/ข้อเสียของโครงการหรือข้อเสนอแนะใดๆ คุณสามารถแจ้งให้เราทราบได้ในส่วนความคิดเห็นของเรา
สำหรับฉัน โปรเจ็กต์นี้ยังเด็กเกินไปที่ยังคงทำงานได้ไม่มีที่ติ และดูทรงพลังและมีแนวโน้มดี ข้อดีที่ใหญ่ที่สุดที่ฉันเห็นคือแคดดี้ไม่จำเป็นต้องพกพาไฟล์กำหนดค่าไปทุกที่ มีจุดมุ่งหมายเพื่อมอบสิ่งที่ดีที่สุดของ Nginx, Lighttpd, vagrant และ Websocketd นั่นคือทั้งหมดที่มาจากด้านข้างของฉัน เชื่อมต่อกับ Tecmint ต่อไป ขอชื่นชม