Hướng dẫn bật HTTP 2.0 trên máy chủ CentOS

Cao Lương Mạnh Toàn 3 phút đọc

1. Tổng quan về HTTP 2.

HTTP/2 còn gọi là HTTP/2.0 hay HTTP 2.0 là phiên bản chính thức thứ 2 của giao thức mạng HTTP được dùng cho World Wide Web. Được phê chuẩn vào tháng 5 năm 2015. HTTP 2.0 được tạo ra để giải quyết các vấn đề về hiệu năng của của HTTP 1.1. Hiện tại HTTP 2.0 đang được hỗ trợ bởi các trình duyệt web lớn.

Apache module mod_http2 cung cấp HTTP/2 hỗ trợ cho các webserver Apache. Module này tăng tốc độ tải trang và bảo mật cho trang web.

Lưu ý: HTTP/2 tốn nhiều tài nguyên hơn, làm tăng mức tiêu thụ bộ nhớ của máy chủ.

2. Hướng dẫn bật HTTP 2.0 trên máy chủ CentOS.

Trước tiên cần kiểm tra cấu hình máy chủ của bạn đã phù hợp để cài đặt HTTP/2 chưa. Đối với HTTP/2 sẽ yêu cầu từ Apache 2.4

Ngoài ra module mod_httpd2 sẽ không tương thích với hệ điều hành Centos 6 – 32bit hoặc DSO PHP Handlers. Module này cũng không tương thích với một số Apache module khác như:

  • mod_mpm_itk
  • mod_mpm_prefork
  • mod_ruid2

Sau đó kiểm tra OpenSSL (tối thiểu từ phiên bản 1.0.2) đã được cài đặt phiên bản mới nhất chưa hãy chạy lệnh sau

# openssl version

Ví dụ: kết quả chạy lệnh cho ra

OpenSSL 1.0.2k-fips 26 Jan 2017

Nếu thấp hơn phiên bản này bạn hãy cài đặt bản mới, hãy chạy các lệnh sau:

# cd /usr/local/src/

# wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz

# tar -xf openssl-1.1.1c.tar.gz

# cd openssl-1.1.1c

#  ./config –prefix=/usr/local/ssl –openssldir=/usr/local/ssl shared zlib

# make

# make test

#make install

Sau đó cấu hình đường dẫn thư viện Openssl

# cd /etc/ld.so.conf.d/
# vi openssl-1.1.1c.conf

Thêm nội dung như sau và lưu lại

/usr/local/ssl/lib

Và chạy lệnh

# ldconfig -v

Cấu hình OpenSSL Binary

# mv /bin/openssl /bin/openssl.backup

# vi /etc/profile.d/openssl.sh

Và thêm nội dung như sau và lưu lại

OPENSSL_PATH=“/usr/local/ssl/bin”

export OPENSSL_PATH

PATH=$PATH:$OPENSSL_PATH

export PATH

Phân quyền cho file script

chmod +x /etc/profile.d/openssl.sh

Sau đó chạy lệnh để thực thi script

# source /etc/profile.d/openssl.sh

# echo $PATH

Sau đó chạy lệnh kiểm tra phía trên để kiểm tra nếu kiểm tra thấy phiên bản là 1.1.1c là thành công.

Sau khi đã cập nhật xong OpenSSL, build lại apache với tham số –enable-http2 –with-ssl=/usr/local/ssl

Sau khi build xong apache, bạn mở file httpd.conf ra và thêm đoạn sau vào:

<IfModule http2_module>
LogLevel http2:info
Protocols h2 h2c http/1.1
</IfModule>

Restart lại apache và thử kiểm tra với công cụ https://tools.keycdn.com/http2-test

Chúc các bạn thành công!