ວິທີການຈັດເວບໄຊທ໌ດ້ວຍ HTTPS ໂດຍໃຊ້ Caddy ໃນ Linux


ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ແມ່ນໂປແກຼມທີ່ໃຊ້ຢູ່ດ້ານ server ເຊິ່ງຖືກອອກແບບມາເພື່ອປະມວນຜົນການຮ້ອງຂໍ HTTP ລະຫວ່າງລູກຄ້າແລະເຄື່ອງແມ່ຂ່າຍ. HTTP ແມ່ນໂປແກຼມເຄືອຂ່າຍພື້ນຖານແລະຖືກ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງ.

Apache HTTP Server ມີບົດບາດ ສຳ ຄັນໃນການອອກແບບສິ່ງທີ່ເປັນເວັບໃນປະຈຸບັນ. ມັນຢູ່ຄົນດຽວມີສ່ວນແບ່ງຕະຫລາດ 37,3%. Nginx ມາເປັນອັນດັບສອງໃນບັນຊີທີ່ມີສ່ວນແບ່ງຕະຫລາດ 32,4%. Microsoft IIS ແລະ LiteSpeed ມາຢູ່ທີ່ເລກ 3 ແລະ 4 ມີສ່ວນແບ່ງຕະຫລາດ 7,8% ແລະ 6.9% ຕາມ ລຳ ດັບ.

ບໍ່ດົນມານີ້, ຂ້າພະເຈົ້າໄດ້ພົບກັບເຄື່ອງແມ່ຂ່າຍເວັບທີ່ມີຊື່ວ່າ Caddy. ໃນເວລາທີ່ຂ້າພະເຈົ້າໄດ້ພະຍາຍາມສອບຖາມກ່ຽວກັບຄຸນລັກສະນະຂອງມັນແລະ ນຳ ໃຊ້ມັນເຂົ້າໃນການທົດສອບ, ຂ້າພະເຈົ້າຕ້ອງເວົ້າວ່າມັນ ໜ້າ ອັດສະຈັນ. ເຄື່ອງແມ່ຂ່າຍເວັບທີ່ມີກະເປົາແລະບໍ່ຕ້ອງການເອກະສານການຕັ້ງຄ່າໃດໆ. ຂ້ອຍຄິດວ່າມັນເປັນໂຄງການທີ່ ໜ້າ ຮັກຫຼາຍແລະຢາກແບ່ງປັນມັນກັບເຈົ້າ. ນີ້ພວກເຮົາໄດ້ທົດລອງ Caddy!

Caddy ແມ່ນທາງເລືອກຂອງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ apache ທີ່ມີການຕັ້ງຄ່າແລະໃຊ້ງ່າຍ. Matthew Holt - ຜູ້ ນຳ ໂຄງການຂອງ Caddy ອ້າງວ່າ Caddy ແມ່ນເຄື່ອງຈັກ ທຳ ມະດາທີ່ມີຈຸດປະສົງທົ່ວໄປ, ອ້າງວ່າຖືກອອກແບບມາ ສຳ ລັບມະນຸດແລະມັນອາດຈະເປັນພຽງແຕ່ຊະນິດດຽວເທົ່ານັ້ນ.

Caddy ແມ່ນເຄື່ອງແມ່ຂ່າຍເວັບໄຊທ໌ ທຳ ອິດທີ່ສາມາດໄດ້ຮັບແລະຕໍ່ໃບຢັ້ງຢືນ SSL/TLS ໂດຍອັດຕະໂນມັດໂດຍໃຊ້ Let’s Encrypt.

<

  • ຄຳ ຮ້ອງຂໍຄວາມໄວ HTTP ໂດຍໃຊ້ HTTP/2.
  • ເຄື່ອງແມ່ຂ່າຍເວັບທີ່ມີຄວາມສາມາດແລະມີການຕັ້ງຄ່າ ໜ້ອຍ ທີ່ສຸດແລະມີການ ນຳ ໃຊ້ທີ່ບໍ່ມີຄວາມຫຍຸ້ງຍາກ.
  • ຮັບປະກັນການເຂົ້າລະຫັດຂອງ TLS, ການເຂົ້າລະຫັດລະຫວ່າງໂປແກຼມສື່ສານກັບຜູ້ໃຊ້ຜ່ານອິນເຕີເນັດ. ທ່ານອາດຈະໃຊ້ຄີແລະໃບຢັ້ງຢືນຂອງທ່ານເອງ.
  • ງ່າຍຕໍ່ການ ນຳ ໃຊ້/ນຳ ໃຊ້. ພຽງເອກະສານດຽວແລະບໍ່ມີການເພິ່ງພາອາໄສເວທີໃດໆ.
  • ບໍ່ ຈຳ ເປັນຕ້ອງມີການຕິດຕັ້ງ.
  • ການປະຕິບັດງານແບບ Portable.
  • ໃຊ້ງານຫລາຍໆ CPU/Cores.
  • ເຕັກໂນໂລຢີ WebSockets ຂັ້ນສູງ - ການສື່ສານແບບໂຕ້ຕອບລະຫວ່າງ browser ແລະ server.
  • ເອກະສານກ່ຽວກັບ Server Markdown ໃນການບິນ.
  • ສະ ໜັບ ສະ ໜູນ ຢ່າງເຕັມທີ່ ສຳ ລັບ IPv6 ລ້າສຸດ.
  • ສ້າງທ່ອນໄມ້ໃນຮູບແບບທີ່ ກຳ ນົດເອງ.
  • ໃຫ້ບໍລິການ FastCGI, ໂປແກຼມ Reverse, ການຂຽນຄືນແລະການປ່ຽນເສັ້ນທາງ, URL ທີ່ສະອາດ, ການບີບອັດຂອງ Gzip, ການຄົ້ນຫາແບບໄດເລກະທໍລີ, ການເປັນເຈົ້າພາບແບບເສມືນແລະຫົວຂໍ້.
  • ມີໃຫ້ກັບທຸກແພລະຕະຟອມທີ່ຮູ້ຈັກ - Windows, Linux, BSD, Mac, Android.
  • <

  • Caddy ມີຈຸດປະສົງເພື່ອຮັບໃຊ້ເວບໄຊທ໌ດັ່ງທີ່ມັນຄວນຈະເປັນໃນປີ 2020 ແລະບໍ່ແມ່ນແບບດັ້ງເດີມ.
  • ມັນຖືກອອກແບບບໍ່ພຽງແຕ່ໃຫ້ໃຊ້ກັບການຮ້ອງຂໍ HTTP ເທົ່ານັ້ນແຕ່ ສຳ ລັບມະນຸດອີກດ້ວຍ.
  • ໂຫລດດ້ວຍຄຸນລັກສະນະລ້າສຸດ - HTTP/2, IPv6, Markdown, WebSockets, FastCGI, ແມ່ແບບແລະຄຸນລັກສະນະອື່ນໆນອກກ່ອງ.
  • ດຳ ເນີນການປະຕິບັດງານໂດຍບໍ່ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງມັນ.
  • ເອກະສານລາຍລະອຽດທີ່ມີລາຍລະອຽດດ້ານວິຊາການ ໜ້ອຍ ທີ່ສຸດ.
  • ພັດທະນາໂດຍຄິດເຖິງຄວາມຕ້ອງການແລະຄວາມງ່າຍດາຍຂອງຜູ້ອອກແບບ, ນັກພັດທະນາແລະນັກຂຽນບລັອກ.
  • ສະ ໜັບ ສະ ໜູນ Virtual Host - ກຳ ນົດສະຖານທີ່ຕ່າງໆຕາມທີ່ທ່ານຕ້ອງການ.
  • ເໝາະ ສຳ ລັບທ່ານ - ບໍ່ວ່າເວັບໄຊທ໌້ຂອງທ່ານຈະສະຫງ່າງາມຫລືເຄື່ອນໄຫວກໍ່ຕາມ. ຖ້າເຈົ້າເປັນມະນຸດມັນແມ່ນ ສຳ ລັບເຈົ້າ.
  • ທ່ານສຸມໃສ່ສິ່ງທີ່ຈະບັນລຸແລະບໍ່ແມ່ນວິທີທີ່ຈະບັນລຸມັນ.
  • ຄວາມພ້ອມຂອງການສະ ໜັບ ສະ ໜູນ ສຳ ລັບເວທີສ່ວນໃຫຍ່ - Windows, Linux, Mac, Android, BSD.
  • ປົກກະຕິແລ້ວ, ທ່ານມີເອກະສານ Caddy ໜຶ່ງ ຄັ້ງຕໍ່ເວັບໄຊທ໌.
  • ຕັ້ງຄ່າພາຍໃນເວລາບໍ່ຮອດ 1 ນາທີ, ເຖິງວ່າທ່ານຈະບໍ່ເປັນມິດກັບຄອມພິວເຕີ້ຫຼາຍປານໃດ.
  • ຂ້ອຍຈະທົດສອບມັນຢູ່ໃນເຊີຟເວີ CentOS, ເຊັ່ນດຽວກັບ Debian Server, ແຕ່ ຄຳ ແນະ ນຳ ດຽວກັນນີ້ຍັງເຮັດວຽກກ່ຽວກັບການແຈກຈ່າຍ RHEL ແລະ Debian. ສຳ ລັບທັງເຊີບເວີຂ້ອຍຈະໃຊ້ 64-bit ທີ່ສາມາດໃຊ້ງານໄດ້.

    Operating Systems: CentOS 8 and Debian 10 Buster
    Caddy Version: v2.0.0
    

    ການຕິດຕັ້ງ Caddy Web Server ໃນ Linux

    ບໍ່ວ່າທ່ານຈະຢູ່ໃນເວທີໃດແລະສະຖາປັດຕະຍະ ກຳ ໃດທີ່ທ່ານ ກຳ ລັງໃຊ້ຢູ່, caddy ສະ ໜອງ ຄວາມພ້ອມທີ່ຈະ ນຳ ໃຊ້ແພັກເກັດໄບນາລີ, ເຊິ່ງສາມາດຕິດຕັ້ງໄດ້ໂດຍໃຊ້ຕົວຈັດການຊຸດເລີ່ມຕົ້ນຂອງທ່ານດັ່ງທີ່ສະແດງ.

    ພວກເຮົາຈະຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍເວບໄຊທ໌ 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
    
    $ 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
    

    ເມື່ອໄດ້ຕິດຕັ້ງ server caddy web server ແລ້ວ, ທ່ານສາມາດເລີ່ມຕົ້ນ, ເປີດໃຊ້ງານແລະກວດສອບສະຖານະຂອງການບໍລິການໂດຍໃຊ້ ຄຳ ສັ່ງ systemctl ຕໍ່ໄປນີ້.

    # systemctl start caddy
    # systemctl enable caddy
    # systemctl status caddy
    

    ຕອນນີ້ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານແລະຊີ້ຕົວທ່ອງເວັບຂອງທ່ານໄປທີ່ຢູ່ຕໍ່ໄປນີ້ແລະທ່ານຄວນຈະສາມາດເຫັນ ໜ້າ ຍິນດີຕ້ອນຮັບ caddy.

    http://Server-IP
    OR
    http://yourdomain.com
    

    ການຕັ້ງຄ່າໂດເມນກັບ Caddy

    ເພື່ອຕັ້ງໂດເມນ, ທຳ ອິດ, ທ່ານ ຈຳ ເປັນຕ້ອງຊີ້ບັນທຶກ DNS/A/AAAA ຂອງໂດເມນຂອງທ່ານຢູ່ທີ່ເຊີບເວີນີ້ໃນແຜງຄວບຄຸມ 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
    

    ຕອນນີ້ເປີດແລະແກ້ໄຂເອກະສານການຕັ້ງຄ່າ caddy ທີ່ /etc/caddy/Caddyfile .

    # vim /etc/caddy/Caddyfile
    

    ທົດແທນ : 80 ດ້ວຍຊື່ໂດເມນຂອງທ່ານແລະປ່ຽນຮາກເວັບໄຊທ໌ໄປເປັນ /var/www/html/example.com ຄືດັ່ງທີ່ສະແດງ.

    ໂຫຼດບໍລິການ Caddy ຄືນ ໃໝ່ ເພື່ອບັນທຶກການປ່ຽນແປງການຕັ້ງຄ່າ.

    # 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 ເຊິ່ງສະແດງວ່າການເຊື່ອມຕໍ່ຂອງທ່ານປອດໄພ.

    ສະຫຼຸບ

    ຖ້າທ່ານເປັນຄົນ ໃໝ່ ແລະຕ້ອງການຕັ້ງ webserver ໂດຍບໍ່ຕ້ອງເຮັດໃຫ້ມືຂອງທ່ານເປື້ອນດ້ວຍການຕັ້ງຄ່າ, ເຄື່ອງມືນີ້ແມ່ນ ສຳ ລັບທ່ານ. ເຖິງແມ່ນວ່າທ່ານຈະເປັນຜູ້ໃຊ້ທີ່ມີປະສົບການທີ່ຕ້ອງການຄວາມໄວແລະງ່າຍດາຍ Caddy web server ກໍ່ຄຸ້ມຄ່າ. ດ້ວຍການຕັ້ງຄ່າເລັກນ້ອຍ, ທ່ານຍັງສາມາດຕັ້ງຄ່າການອະນຸຍາດໂຟນເດີ, ຄວບຄຸມການກວດສອບຄວາມຖືກຕ້ອງ, ໜ້າ ຜິດພາດ, Gzip, ການໂອນ ໜ້າ HTTP ແລະອື່ນໆ, ຖ້າທ່ານ ຈຳ ເປັນຕ້ອງຕັ້ງ webserver ທີ່ສັບສົນແລະກ້າວ ໜ້າ ຂື້ນ.

    ຢ່າເອົາ Caddy ເປັນຕົວແທນຂອງ Apache ຫຼື Nginx. Caddy ບໍ່ໄດ້ຖືກອອກແບບມາເພື່ອຮັບມືກັບສະພາບແວດລ້ອມການຜະລິດການຈະລາຈອນທີ່ສູງ. ມັນຖືກອອກແບບມາ ສຳ ລັບການຕັ້ງ webserver ໄວເມື່ອຄວາມກັງວົນຂອງທ່ານແມ່ນຄວາມໄວແລະຄວາມ ໜ້າ ເຊື່ອຖື.

    ຄູ່ມືຜູ້ໃຊ້ຄົບຖ້ວນ/ເອກະສານຄົບຖ້ວນຂອງ Caddy Web Server

    ພວກເຮົາໄດ້ ນຳ ເອົາເອກະສານດັ່ງກ່າວທີ່ມີຈຸດປະສົງໃນການທົບທວນແລະຕິດຕັ້ງ ຄຳ ແນະ ນຳ ໂດຍໄວພ້ອມດ້ວຍຮູບພາບທີ່ ຈຳ ເປັນ. ຖ້າທ່ານພົບເຫັນຂໍ້ດີຫຼືຂໍ້ສະ ເໜີ ຂອງໂຄງການຫລື ຄຳ ແນະ ນຳ ໃດໆ, ທ່ານອາດຈະມອບໃຫ້ພວກເຮົາໃນພາກ ຄຳ ເຫັນຂອງພວກເຮົາ.

    ສຳ ລັບຂ້ອຍແລ້ວໂຄງການນີ້ຍັງ ໜຸ່ມ ເກີນໄປຍັງເຮັດວຽກແບບບໍ່ຖືກຕ້ອງແລະເບິ່ງຄືວ່າມີພະລັງແລະມີຄວາມເປັນໄປໄດ້. ຈຸດບວກທີ່ໃຫຍ່ທີ່ສຸດທີ່ຂ້ອຍເຫັນແມ່ນ caddy ບໍ່ ຈຳ ເປັນຕ້ອງມີເອກະສານຕັ້ງຄ່າຂອງມັນຢູ່ທົ່ວທຸກບ່ອນ. ມັນມີຈຸດປະສົງໃນການສະ ໜອງ ສິ່ງທີ່ດີທີ່ສຸດຂອງ Nginx, Lighttpd, ປອດສານພິດ, ແລະ Websocketd. ນັ້ນແມ່ນມາຈາກຂ້າງຂ້ອຍ. ຮັກສາການເຊື່ອມຕໍ່ກັບ Tecmint. Kudos