Enable http2 trên DirectAdmin

HTTP/2 là phiên bản chính thức tiếp theo của giao thức HTTP, nhằm cải thiện tốc độ tải web. Nó được bắt nguồn từ giao thức SPDY thử nghiệm trước đó, do Google phát triển ban đầu.

1) Cài đặt OpenSSL, cùng ALPN:

wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
tar xzf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u
./config --prefix=/usr/local/lib_http2 no-ssl2 no-ssl3 zlib-dynamic -fPIC
make depend
make install

2) Cài đặt nghttp2:

cd /usr/local/directadmin/custombuild
./build update
./build nghttp2

3) Enable http2 cho apache Apache:

cd /usr/local/directadmin/custombuild
mkdir -p custom/ap2
cp -p configure/ap2/configure.apache custom/ap2/configure.apache

Chỉnh sủa file custom/ap2/configure.apache, tìm đến dòng:

    "--with-ssl=/usr" \

Thay vào đoạn sau:

    "--enable-http2" \
    "--enable-ssl-staticlib-deps" \
    "--with-ssl=/usr/local/lib_http2" \

Và build lại apache:

./build apache

4) Cấu hình Apache cho phép chạy http2:

echo 'ProtocolsHonorOrder On' >> /etc/httpd/conf/extra/httpd-includes.conf
echo 'Protocols h2 h2c http/1.1' >> /etc/httpd/conf/extra/httpd-includes.conf

Update SSL Ciphers ở file /etc/httpd/conf/extra/httpd-ssl.conf:

cd /usr/local/directadmin/custombuild
./build rewrite_confs

Enable HTTP/2 in cURL, Thêm vào đoạn code sau vào /usr/local/directadmin/custombuild/custom/curl/configure.curl:

#!/bin/sh
perl -pi -e 's|CURL_CHECK_PKGCONFIG\(zlib\)|#CURL_CHECK_PKGCONFIG(zlib)|g' configure.ac
LIBS="-ldl" ./configure --with-nghttp2=/usr/local --with-ssl=/usr/local/lib_http2

Và build lại curl

cd /usr/local/directadmin/custombuild
chmod 700 custom/curl/configure.curl
./build curl

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

Bình luận