HTTP/2 là gì?
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ủ
- Để sử dụng HTTP/2 website cần có SSL/TLS
Cách kiểm tra xem đã cài đặt HTTP/2 chưa
Để kiểm tra xem trang web của bạn đã được cài đặt phiên bản HTTP/2 hay chưa, thì bạn chỉ việc truy cập vào một trong hai trang web bên dưới và nhập địa chỉ wesite của mình vào, nhấn test để kiểm tra.
https://http2.pro và https://tools.keycdn.com/http2-test
Image
Hướng dẫn cài đặt HTTP/2 trên Apache trên máy chủ CentOS
Bước 1: Kiểm tra server Apache
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.
[root@host]# httpd -v
Server version: Apache/2.4.16 (Unix)
Server built: Dec 23 2015 11:28:39
Cpanel::Easy::Apache v3.32.6 rev9999
Bước 2: Cài đặt và cấu hình OpenSSL
2.1. Kiểm tra OpenSSL đã cài đặt chưa
# openssl version
OpenSSL tối thiểu từ phiên bản 1.0.2. Nếu chưa có hoặc cần update bạn làm theo các bước 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
2.3. 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
2.4. 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
2.5. Phân quyền cho file script
chmod +x /etc/profile.d/openssl.sh
2.6. 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.