歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

DirectAdmin 啟用HTTP/2支持

Apache和Nginx新版本都已經支持http/2,測試大家估計也都看過很多,絕大部分情況下,http/2速度完爆spdy
DirectAdmin目前的版本還未正式在後台提供http/2支持,
然而我們可以自動動手來做,非常簡單,並且不會影響系統正常運行

首先安裝新版的OpenSSL,因為只有新版的才支持ALPN
我這裡直接安裝到其他位置不會覆蓋系統原有的openssl
wget http://codes.yutian.org/Linux/software/openssl-1.0.2d.tar.gz
tar xzf openssl-1.0.2d.tar.gz
cd openssl-1.0.2d
./config --prefix=/usr/local/lib_http2 no-ssl2 no-ssl3 zlib-dynamic
make depend
make install

然後安裝nghttp2,DirectAdmin面板已經自帶,
然而並未正式提供該功能,應該是為了以後支持http/2提前做好了准備
cd /usr/local/directadmin/custombuild
./build update
./build nghttp2

拷貝文件,啟用自定義Apache編譯規則
cd /usr/local/directadmin/custombuild
mkdir -p custom/ap2
cp -p configure/ap2/configure.apache custom/ap2/configure.apache

修改 /usr/local/directadmin/custombuild/custom/ap2/configure.apache文件
找到這一行
"--with-ssl=/usr" \

修改為這樣
"--enable-http2" \
"--enable-ssl-staticlib-deps" \
"--with-ssl=/usr/local/lib_http2" \

開始編譯Apache
./build apache

編輯httpd文件加入http/2支持語句
echo 'ProtocolsHonorOrder On' >> /etc/httpd/conf/extra/httpd-includes.conf
echo 'Protocols h2 h2c http/1.1' >> /etc/httpd/conf/extra/httpd-includes.conf

更新SSL Ciphers /etc/httpd/conf/extra/httpd-ssl.conf
cd /usr/local/directadmin/custombuild
./build rewrite_confs

然後就可以了。目前測試http/2的支持還算完美,然而有一個不大不小的bug 存在,
我自己測試發現如果使用泛域名證書的話,浏覽器只能成功訪問第一個引用的https網站,第二個會失敗
比如:*.xxx.com泛域名證書,你在同一個服務器上部署了多個二級域名,a.xxx.com和b.xxx.com,
你訪問了https://a.xxx.com後,再訪問https://b.xxx.com就會失敗,這個是Apache新版本的bug,下個版本才會修復

Copyright © Linux教程網 All Rights Reserved