溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx 啟用 BoringSSL的配置方法

發(fā)布時間:2020-09-21 16:22:42 來源:腳本之家 閱讀:600 作者:南琴浪博客 欄目:服務(wù)器

本文介紹以 BoringSSL 作為 Nginx 加密庫的配置方法。

BoringSSL 是由谷歌從 Openssl 中抽出來后獨立發(fā)展的作品,是 Google、Cloudflare 等大牌的御用。

BoringSSL 有優(yōu)點也有缺點:優(yōu)點是它原生提供 加密算法等價組 (具體我之后會寫文章介紹)支持,并且對 tls1.3-draft23 支持較為不錯;而缺點是不能在 Nginx 下啟用 tls1.3 協(xié)議,且 BoringSSL 自身容易編譯失敗。

本文介紹使用 BoringSSL 替代 Openssl 作為 Nginx 加密庫的方式。

BoringSSL

首先你需要把 BoringSSL 編譯出來。建議編譯所用主機配置 2G 及以上內(nèi)存,因為 cmake 相當(dāng)消耗內(nèi)存。以下步驟可能比較多,請按順序一步步執(zhí)行:

# 建立一個目錄,我們的工作都在這里進行
mkdir -p /home/nginx-installation && cd /home/nginx-installation

# 安裝編譯所需依賴
# BoringSSL 需要 Golang 支持
apt-get install -y build-essential make cmake golang

# 把 BoringSSL 源碼克隆下來
git clone --dep 1 https://boringssl.googlesource.com/boringssl && cd boringssl

# 編譯開始
mkdir -p /home/nginx-installation/boringssl/build /home/nginx-installation/boringssl/.openssl/lib /home/nginx-installation/boringssl/.openssl/include
ln -sf /home/nginx-installation/boringssl/include/openssl /home/nginx-installation/boringssl/.openssl/include/openssl
touch /home/nginx-installation/boringssl/.openssl/include/openssl/ssl.h
cmake -B/home/nginx-installation/boringssl/build -H/home/nginx-installation/boringssl
make -C /home/nginx-installation/boringssl/build
cp /home/nginx-installation/boringssl/build/crypto/libcrypto.a /home/nginx-installation/boringssl/build/ssl/libssl.a /home/nginx-installation/boringssl/.openssl/lib

以上步驟完成后,就先把 BoringSSL 編譯完成了。接下來要用 --with-openssl 把它提供給 Nginx 使用。

Nginx

使用以下參數(shù)來編譯 Nginx:

# 使用 --with-openssl 指定 BoringSSL 路徑
# 這里并沒有變成 "--with-boringssl"
./configure ... --with-openssl=/home/nginx-installation/boringssl

# 在 configure 后,要先 touch 一下,才能繼續(xù) make
touch /home/nginx-installation/boringssl/.openssl/include/openssl/ssl.h

make
make install

把 Nginx 編譯出來后,查看參數(shù)你會看到:

sudo nginx -V

built by gcc 4.9.2 (Debian 4.9.2)
built with OpenSSL 1.1.0 (conpatible: BoringSSL) (running with BoringSSL)
TLS SNI support enabled

發(fā)現(xiàn)了嗎?里面耀眼的 BoringSSL 字樣。

Cipher Suite

雖說把 OpenSSL 換成了 BoringSSL,其實加密套件的寫法還是差不多一樣的。你可以這樣寫:

復(fù)制代碼 代碼如下:

ssl_ciphers  'ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256';

當(dāng)然,如果你想用上 BoringSSL 的 等價組 特性的話,可以改成這樣:

復(fù)制代碼 代碼如下:

ssl_ciphers  '[ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305|ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256';

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI