先科普 LibreSSL 是 OpenSSL 加密軟體庫的一個分支,為一個安全套接層(SSL)和傳輸層安全(TLS)協議的開源實現。在 OpenSSL 爆出心臟出血安全漏洞之後,一些 OpenBSD 開發者於 2014 年 4 月創立了 LibreSSL,目標是重構 OpenSSL 的代碼,以提供一個更安全的替代品。LibreSSL 復刻自 OpenSSL 庫的 1.0.1g 分支,它將遵循其他 OpenBSD 項目所使用的安全指導原則。
簡單總結一下 LibreSSL 的優缺點 優點:兼容 OpenSSL,代碼簡單,分支清晰,便於安裝、使用和維護 缺點:不支持舊安全算法,部分加密算法效率不高。
安裝編譯環境
#安裝編譯環境
yum install -y gcc gcc-c++ pcre-devel openssl openssl-devel
創建工作目錄,統一使用絕對路徑
#創建工作目錄,統一使用絕對路徑
mkdir /work
cd /work
下載 LibreSSL 源代碼
cd /work
wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.4.2.tar.gz
tar xvzf libressl-2.4.2.tar.gz
下載 nginx 源代碼
cd /work
wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -xzvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
配置編譯選項,將 openssl 替換為 libressl “--with-openssl=/work/libressl-2.4.2”
./configure --with-openssl=/work/libressl-2.4.2/ \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6 \
--with-http_v2_module
編譯和安裝 Nginx + Libressl
#編譯和安裝
make;make install
#創建鏈接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
ln -s /usr/local/nginx/conf /etc/nginx
測試編譯和安裝 Nginx + Libressl 結果
#測試
nginx -V
輸出結果
nginx version: nginx/1.10.1 (Ubuntu)
built by gcc 4.9.2 20150212 (Red Hat 4.9.2-6)
built with LibreSSL 2.4.2
TLS SNI support enabled
完整的編譯和安裝 Nginx + Libressl 腳本
#安裝編譯環境
yum install -y gcc gcc-c++ pcre-devel openssl openssl-devel
#創建工作目錄,統一使用絕對路徑
mkdir /work;cd /work
#下載 LibreSSL 源代碼
wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.4.2.tar.gz
tar xvzf libressl-2.4.2.tar.gz
#下載 nginx 源代碼
cd /work
wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -xzvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
#配置編譯選項,
./configure --with-openssl=/work/libressl-2.4.2/ \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-ipv6 \
--with-http_v2_module
#編譯和安裝
make;make install
#創建鏈接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
ln -s /usr/local/nginx/conf /etc/nginx
#測試
nginx -V
參考 http://www.oschina.net/translate/nginx-libressl-first-test?cmp https://community.centminmod.com/threads/libressl-2-4-2-released.8195/