in

Cách bật HTTP/2.0 trong Nginx

HTTP/2 hoặc HTTP phiên bản 2.0 là phiên bản thứ hai của giao thức mạng HTTP quá quen thuộc cho đến ngày nay. Giao thức này dựa trên SPDY/2 để cải thiện hiệu suất web ở mức độ rất lớn.

HTTP/2.0 được tạo ra nhằm sử dụng hiệu quả hơn các nguồn lực mạng và giảm độ trễ bằng cách nén header và cho phép các lưu lượng đồng thời lưu thông trên cùng một kết nối.

HTTP/1.1 dùng data dạng text, với hiệu năng nhìn chung kém hơn khi áp dụng lên môi trường mạng. HTTP/2 Headers được nén nhỏ Thông tin được gửi đi kèm request miêu tả dữ liệu, cùng nguồn gốc, kiểu, độ dài, và thời gian được cache,… của dữ liệu đó. Khác với HTTP/1.1, tất cả thông tin này được nén trong HTTP/2.

Trong HTTP/1.1, server phải gửi phản hồi theo cùng trật tự nhận request. HTTP/2 thì bất đồng bộ, nên các phản hồi nhỏ hơn hoặc nhanh hơn có thể được xử lý sớm hơn.

Trong bài viết này, bạn sẽ tìm hiểu cách kích hoạt Nginx với hỗ trợ HTTP/2 trong các máy chủ Linux.

Điều kiện:

  • Server cài NGINX phiên bản 1.9.5 trở lên, đã cài module ngx_http_v2_module.
  • Đảm bảo rằng trang web của bạn sử dụng chứng chỉ SSL/TLS, nếu bạn không có chứng chỉ, bạn có thể tạo miễn phí từ Lets Encrypt.

Cách bật HTTP/2.0 trong NGINX

Nếu bạn đã cài đặt NGINX, hãy tìm hiểu xem nó đã bật module ngx_http_v2_module chưa bằng cách chạy lệnh bên dưới:

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

Cách bật HTTP/2.0 trong Nginx 1

Khi bạn có một trang web chạy NGINX đã bật HTTPS, hãy mở tập tin virtual server (hoặc virtual hosts ) của trang web của bạn để chỉnh sửa.

# vi /etc/nginx/conf.d/example.com.conf                    [Trên CentOS/RHEL]
$ sudo nano /etc/nginx/sites-available/example.com.conf    [Trên Ubuntu/Debian]

Bạn có thể kích hoạt hỗ trợ HTTP/2 bằng cách thêm tham số http2 vào tất cả các lệnh listen như trong ảnh chụp màn hình bên dưới:

listen 443 ssl http2;

Dưới đây là config mẫu:

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    
}

Cách bật HTTP/2.0 trong Nginx 2

Lưu lại file và dùng lệnh bên dưới để restart lại NGINX.

# nginx -t
# systemctl restart nginx

Bây giờ bạn cần vào trình duyệt và mở trang web lên. Để biết được trang web chạy Protocol này, bạn cần bấm phải chuột > chọn Inspect > Chuyển qua tab Network. Xem hiển thị ở cột Protocol.

Cách bật HTTP/2.0 trong Nginx 3
Đây là protocol HTTP 1.0
Cách bật HTTP/2.0 trong Nginx 4
Đây là protocol HTTP/2.0

Theo tecmint

 

Written by Linh Nguyễn

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments