CentOS 更新 OpenSSL 到最新版 1.1.0

You are here:
< All Topics

CentOS YUM 套件庫中的 OpenSSL 版本只到 1.0.1e

但 NGINX 有些功能需要升級到 1.0.2+ 才能支援

依照下方流程即可順利更新

下載最新版 openSSL

$ wget https://www.openssl.org/source/openssl-1.1.0-latest.tar.gz
$ tar zxvf openssl-1.1.0-latest.tar.gz -C /usr/src/
$ cd /usr/src/openssl-1.1.0*

編譯及安裝

$ ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)' => 如果沒下後方的參數,Let's Encrypt 會報錯
$ make
$ make install

如果之前有手動更新過 openssl 需手動移除此檔案

$ rm -f /usr/bin/openssl && rm -f /usr/lib64/libssl.so.1.1 && rm -f /usr/lib64/libcrypto.so.1.1

重新製作 symbolic link

$ ln -s /usr/local/bin/openssl /usr/bin/openssl
$ ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
$ ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

確認版本

$ openssl version
OpenSSL 1.1.0f 25 May 2017
Let’s Encrypt 需增加
cd ~/.local/share/letsencrypt/bin/
./pip uninstall cryptography pyopenssl -y
./pip install --upgrade pip
rm -rf ~/.cache/
./pip install cryptography pyopenssl

參考資料:

https://stackoverflow.com/questions/42111198/undefined-symbol-openssl-sk-num/43622117

Previous CentOS 更新 OpenSSL 到最新版 1.0.2j
Next Let’s encrypt 遇到 ‘ascii’ codec can’t decode byte 0xe5 的解法
Table of Contents