Ubuntu 12.04 / 14.04 編譯升級 OpenSSL 至最新版本



自己的伺服器 Ubuntu 版本還在 14.04,如果使用了 Nginxhttp2 模組還沒能完全打開任督二脈,往 ALPN 前進。

註:編譯安裝 Nginx 的時候,就算有 --with-http_v2_module 參數,也會因為系統自帶的 OpenSSL 版本低於 1.0.2 而無法支援。

Ubuntu 16.04 以後的版本已經內建 OpenSSL 1.0.2g, Ubuntu 14.04 則是 1.0.1f

這工具也滿重要的,可以的話就升級到最新吧!

回到主題

編譯安裝 OpenSSL (作業系統面)

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install gcc make -y

準備好前置作業後,到 OpenSSL 的下載頁面 去看最新的版本(目前是 1.0.2j),記好版本

curl https://www.openssl.org/source/openssl-1.0.2j.tar.gz | tar xz && cd openssl-1.0.2j && sudo ./config && sudo make && sudo make install

自行替換版本號

然後輸入

sudo ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl

取代原本的版本

openssl version

確認升級安裝

Nginx 使用 1.0.2j 版本

把剛剛解壓縮 openssl-1.0.2j 原始碼的目錄絕對位置記下來後,在編譯 Nginx 的時候補上下面的 option ,然後重 build 就好囉!

--with-openssl=/path/to/openssl-1.0.2j

自行替換目錄位置

編譯安裝好後重新啟動,再打開 Chrome 檢查,是不是有變成 http2 了(記得 Nginx 要打開 http2 )

Chrome Dev tool 中 network 打開 Protocol 選項

Chrome Dev tool 中 network 打開 Protocol 選項 查看

到此測試

Facebook 功能:

Share: