ວິທີການເປີດໃຊ້ HTTP/2.0 ໃນ Nginx
HTTP/2 ແມ່ນມາດຕະຖານລ້າສຸດ ສຳ ລັບໂປໂຕຄອນ HTTP, ມັນແມ່ນຜູ້ສືບທອດຂອງ HTTP/1.1. ມັນໄດ້ຮັບຄວາມນິຍົມຫລາຍຂື້ນຍ້ອນຜົນປະໂຫຍດທີ່ມັນ ນຳ ມາສູ່ຜູ້ພັດທະນາເວັບແລະຜູ້ໃຊ້ທົ່ວໄປ. ມັນສະ ໜອງ ການຂົນສົ່ງທີ່ດີທີ່ສຸດ ສຳ ລັບ HTTP semantics ໂດຍການສະ ໜັບ ສະ ໜູນ ທຸກໆລັກສະນະຫຼັກຂອງ HTTP/1.1 ແຕ່ມີຈຸດປະສົງໃຫ້ມີປະສິດທິພາບຫຼາຍຂື້ນໃນຫຼາຍດ້ານ
ມັນມີຫຼາຍລັກສະນະຢູ່ດ້ານເທິງຂອງ HTTP/2 ທີ່ຊ່ວຍໃຫ້ທ່ານມີຄວາມເປັນໄປໄດ້ຫຼາຍຂື້ນໃນການເພີ່ມປະສິດທິພາບຂອງເວັບໄຊທ໌້/ການ ນຳ ໃຊ້. ມັນ ນຳ ສະ ເໜີ ແບບທະວີຄູນແລະກົງກັນຂ້າມທີ່ແທ້ຈິງ, ການບີບອັດຫົວຂໍ້ທີ່ດີກວ່າ (ການເຂົ້າລະຫັດຖານສອງ), ການຈັດ ລຳ ດັບຄວາມ ສຳ ຄັນ, ກົນໄກການຄວບຄຸມການໄຫຼເຂົ້າທີ່ດີກວ່າແລະຮູບແບບການໂຕ້ຕອບ ໃໝ່ ທີ່ເອີ້ນວ່າ“ ການຊຸກຍູ້ຂອງເຄື່ອງແມ່ຂ່າຍ” ເຊິ່ງຊ່ວຍໃຫ້ເຄື່ອງແມ່ຂ່າຍສາມາດຊຸກຍູ້ການຕອບຮັບໃຫ້ກັບລູກຄ້າ. ບໍ່ໄດ້ກ່າວເຖິງ, HTTP/2 ແມ່ນອີງໃສ່ໂປໂຕຄອນ SPDY ແບບທົດລອງຂອງ Google.
ດັ່ງນັ້ນ, ຈຸດສຸມຕົ້ນຕໍຂອງ HTTP/2 ແມ່ນເພື່ອຫຼຸດຜ່ອນເວລາໂຫຼດ ໜ້າ ເວບໄຊທ໌ໂດຍລວມ, ດັ່ງນັ້ນການປັບປຸງປະສິດຕິພາບ. ມັນຍັງສຸມໃສ່ການໃຊ້ເຄືອຂ່າຍແລະການ ນຳ ໃຊ້ຊັບພະຍາກອນຂອງ server ເຊັ່ນດຽວກັນກັບຄວາມປອດໄພເພາະວ່າດ້ວຍການເຂົ້າລະຫັດ HTTP/2, ການເຂົ້າລະຫັດ SSL/TLS ແມ່ນ ຈຳ ເປັນ.
ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີທີ່ຈະຊ່ວຍໃຫ້ Nginx ມີການສະ ໜັບ ສະ ໜູນ HTTP/2 ໃນເຊີຟເວີ Linux.
- ການຕິດຕັ້ງແບບ NGINX ເວີຊັນ 1.9.5 ຫຼືສູງກວ່າ, ສ້າງດ້ວຍລະຫັດ ngx_http_v2_module.
- ໃຫ້ແນ່ໃຈວ່າເວບໄຊທ໌ຂອງທ່ານໃຊ້ໃບຢັ້ງຢືນ SSL/TLS, ຖ້າທ່ານບໍ່ມີມັນ, ທ່ານສາມາດຂໍຈາກ Let’s Encrypt ຫຼືໃຊ້ໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງ.
ທ່ານສາມາດຕິດຕັ້ງ NGINX ຫຼືໃຊ້ມັນດ້ວຍ LEMP stack ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນຄູ່ມືຕໍ່ໄປນີ້:
- ວິທີການຕິດຕັ້ງ Nginx ໃນ CentOS 8
- ວິທີການຕິດຕັ້ງ LEMP Server ໃນ CentOS 8
- ວິທີການຕິດຕັ້ງ NGINX, MySQL/MariaDB ແລະ PHP ໃນ RHEL 8
- ວິທີຕິດຕັ້ງ LEMP Stack ກັບ PhpMyAdmin ໃນ Ubuntu 20.04
- ຕິດຕັ້ງ Nginx ກັບ Server Server (Virtual Hosts) ເທິງ Debian 10
- ວິທີການໃຊ້ Nginx ເປັນ HTTP Load Balancer ໃນ Linux
ວິທີການເປີດໃຊ້ HTTP/2.0 ໃນ NGINX
ຖ້າທ່ານໄດ້ຕິດຕັ້ງ NGINX, ກວດສອບວ່າມັນຖືກສ້າງຂຶ້ນດ້ວຍໂມດູນ
# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
ເມື່ອທ່ານມີເວບໄຊທ໌/ແອັບພລິເຄຊັນທີ່ຖືກໃຫ້ບໍລິການໂດຍ NGINX ດ້ວຍການຕັ້ງຄ່າ HTTPS, ເປີດເວບໄຊທ໌ຂອງທ່ານທີ່ເປັນເຄື່ອງແມ່ຂ່າຍ virtual (ຫລື virtual host) ເພື່ອແກ້ໄຂ.
# vi /etc/nginx/conf.d/example.com.conf [On CentOS/RHEL] $ sudo nano /etc/nginx/sites-available/example.com.conf [On Ubuntu/Debian]
ທ່ານສາມາດເປີດໃຊ້ງານສະ ໜັບ ສະ ໜູນ HTTP/2 ໂດຍພຽງແຕ່ເພີ່ມພາລາມິເຕີ http2
ໃສ່ທຸກທິດທາງ ຟັງ
ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຕໍ່ໄປນີ້.
listen 443 ssl http2;
ການຕັ້ງຄ່າບລັອກເຊີຟເວີຕົວຢ່າງເບິ່ງຄືວ່າຢູ່ທາງລຸ່ມ.
server { server_name example.com www.example.com; access_log /var/log/nginx/example.com_access.log; error_log /var/log/nginx/example.com_error.log; listen [::]:443 ssl ipv6only=on http2; # managed by Certbot listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }
ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະປິດມັນ.
ຫຼັງຈາກນັ້ນກວດເບິ່ງ syntax ການຕັ້ງຄ່າຂອງ NGINX, ຖ້າມັນບໍ່ເປັນຫຍັງ, ໃຫ້ບໍລິການ Nginx ເລີ່ມຕົ້ນ ໃໝ່.
# nginx -t # systemctl restart nginx
ຕໍ່ໄປ, ເປີດໂປແກຼມທ່ອງເວັບເພື່ອກວດສອບວ່າເວັບໄຊທ໌ຂອງທ່ານ ກຳ ລັງບໍລິການຜ່ານ HTTP/2 ຫຼືບໍ່.
http://www.example.com
ເພື່ອເຂົ້າເຖິງຫົວຂໍ້ HTTP, ໃຫ້ຄລິກຂວາໃສ່ ໜ້າ ເວບທີ່ສະແດງ, ເລືອກ Inspect ຈາກລາຍຊື່ຕົວເລືອກເພື່ອເປີດເຄື່ອງມືຂອງນັກພັດທະນາ, ຈາກນັ້ນກົດປຸ່ມ Network, ແລະໂຫຼດ ໜ້າ ນີ້ຄືນ.
ກວດເບິ່ງຢູ່ພາຍໃຕ້ໂປໂຕຄອນເພື່ອເບິ່ງເວັບໄຊທ໌ທີ່ທ່ານ ກຳ ລັງໃຊ້ (ຖ້າທ່ານບໍ່ເຫັນໂປແກຼມ Protocols, ໃຫ້ຄລິກຂວາໃສ່ຫົວຂໍ້ໃດກໍ່ໄດ້ເຊັ່ນ: ຊື່, ຫຼັງຈາກນັ້ນກວດເບິ່ງໂປໂຕຄອນຈາກລາຍຊື່ເພື່ອສະແດງມັນເປັນ header).
ຖ້າເວັບໄຊທ໌້ຂອງທ່ານ ກຳ ລັງໃຊ້ງານຢູ່ HTTP/1.1, ພາຍໃຕ້ Protocol, ທ່ານຈະເຫັນ http/1.1 ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຕໍ່ໄປນີ້.
ຖ້າມັນ ກຳ ລັງໃຊ້ງານຢູ່ HTTP/2, ພາຍໃຕ້ Protocol, ທ່ານຈະເຫັນ h2
ຕາມທີ່ສະແດງໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້. ທ່ານອາດຈະຕ້ອງການປິດ cache ຂອງ browser ເພື່ອເບິ່ງເນື້ອຫາລ້າສຸດທີ່ໄດ້ຮັບການບໍລິການຈາກ webserver ໂດຍກົງ.
ຫມົດເທົ່ານີ້! ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ເບິ່ງເອກະສານ ໜ້າ ຈໍ ngx_http_v2_module. ຢ່າລັງເລທີ່ຈະຖາມ ຄຳ ຖາມຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.