最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何讓Nginx快速支持TLS1.3協(xié)議詳解

 更新時(shí)間:2018年04月21日 15:51:14   作者:虞大膽  
這篇文章主要給大家介紹了如何讓Nginx快速支持TLS1.3協(xié)議的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

最近在看一些 TLS 協(xié)議 1.3 版本的相關(guān)知識(shí),所以想分享一些信息,本文是第一篇,沒(méi)有太多的理論細(xì)節(jié),主要說(shuō)下如何在 Nginx 上快速部署一個(gè)支持 TLS 1.3 協(xié)議版本的網(wǎng)站。

TLS 1.3 優(yōu)勢(shì)

TLS 1.3 相對(duì)于之前的版本,主要有兩大優(yōu)勢(shì):

Enhanced security: 安全性增強(qiáng)
Improved speed:速度提升

幾個(gè)基本觀點(diǎn)需要牢記。

1)截止到現(xiàn)在 TLS 1.3 協(xié)議仍然處于草案階段,最新的 RFC 文檔是 draft 28,對(duì)于大型系統(tǒng)來(lái)說(shuō),目前并不建議部署,當(dāng)然對(duì)于個(gè)人網(wǎng)站來(lái)說(shuō),可以部署 TLS 1.3 版本 。

2)TLS 1.3 和 TLS 1.2 版本有很大的不同,從協(xié)議消息的角度來(lái)看,兩者是不兼容的,也正因?yàn)榇?,大型系統(tǒng)目前不建議采用 TLS 1.3 版本。

關(guān)于這兩個(gè)版本之間的差異,后續(xù)我會(huì)寫文章詳細(xì)描述。

3)Nginx 底層使用的密碼庫(kù)是 OpenSSL,也就是說(shuō)是否支持 TLS 1.3 版本,取決于 OpenSSL 庫(kù)。

目前 Nginx 1.13 以上的版本支持 TLS 1.3 版本,而 OpenSSL 1.1.1 版本支持 TLS 1.3 版本,最新的 OpenSSL 1.1.1-pre5 支持 TLS 1.3 draft 26。

這篇文章運(yùn)行環(huán)境如下:

  • Ubuntu 14.04.5 LTS 系統(tǒng)
  • gcc version 4.8.4
  • Nginx nginx1.13.5
  • openssl1.1.1

如果大家在具體安裝的時(shí)候,遇到各類問(wèn)題,可能和軟件版本、系統(tǒng)環(huán)境有關(guān),需要查看手冊(cè)或者在線 Google。

安裝 OpenSSL

了解 TLS 1.3 版本,最好的工具就是 OpenSSL,所以第一步就是安裝 OpenSSL 密碼庫(kù)和命令行工具。

運(yùn)行如下命令:

$ cd /root 

# 下載源代碼 
$ wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1-pre1.tar.gz 

$ cd openssl-1.1.1-pre1

$ grep TLS1_3_VERSION_DRAFT_TXT ./* -R
# 輸出 draft 23 
./include/openssl/tls1.h:# define TLS1_3_VERSION_DRAFT_TXT "TLS 1.3 (draft 23)"

$ ./config --prefix=/usr/local/openssl1.1.1 --openssldir=/usr/local/openssl1.1.1 --libdir=lib shared -Wl,-R,'$(LIBRPATH)' -Wl,--enable-new-dtags enable-ec_nistp_64_gcc_128 enable-tls1_3

$ make 
$ make install
  • 在這個(gè)版本中,默認(rèn)已經(jīng)啟用 TLS 1.3 ,所以不加 enable-tls1_3 參數(shù)也可以
  • OpenSSL 命令行工具和各類包、證書文件都保存在 /usr/local/openssl1.1.1 目錄下。
  • 該版本對(duì)應(yīng)的 TLS 1.3 版本是 draft 23。

安裝完成后,可以使用命令行工具了解相關(guān) TLS 1.3 信息。

比如運(yùn)行下列命令,了解該版本對(duì)應(yīng)的所有密碼套件:

$ ./usr/local/openssl1.1.1/bin/openssl ciphers -V tls1_3 | column -t

0x13,0x02 - TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256)  Mac=AEAD
0x13,0x03 - TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
0x13,0x01 - TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128)  Mac=AEAD

可以看出 TLS 1.3 版本支持的密碼套件進(jìn)一步減少(增強(qiáng)了安全性)。

安裝 Nginx

Nginx 支持 TLS 1.3 版本,指定 OpenSSL 庫(kù)即可,運(yùn)行命令如下:

$ cd /root 

$ wget http://nginx.org/download/nginx-1.13.5.tar.gz 
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz

$ tar xvf pcre-8.41.tar.gz 
$ tar xvf nginx-1.13.5.tar.gz 

$ cd nginx-1.13.5

$ ./configure \
 --prefix=/usr/local/nginx1.13.5.tls1.3 \
 --with-http_ssl_module \
 --with-pcre=../pcre-8.41 \
 --with-stream \
 --with-openssl=../openssl-1.1.1-pre1 \
 --with-openssl-opt="enable-tls1_3 enable-ec_nistp_64_gcc_128" --with-pcre

$ make 
$ make install

—with-openssl-opt 參數(shù)主要是為了配置 OpenSSL

Nginx 配置 TLS 1.3 版本

$ cd /usr/local/nginx1.13.5.tls1.3
$ vim conf/nginx.conf

nginx.conf 文件配置如下:

server {
 listen  443 ssl;
 server_name www.simplehttps.com;

 ssl_certificate  /etc/letsencrypt/live/simplehttps.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/simplehttps.com/privkey.pem;
 ssl_protocols  TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

 ssl_protocols  TLSv1.1 TLSv1.2 TLSv1.3;
 ssl_prefer_server_ciphers on;

 ssl_ciphers  TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-1
 28-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256;

 location / {
  root html;
  index index.html index.htm;
 }
}

關(guān)于如何申請(qǐng)證書,可以參考我原來(lái)的文章。

配置 TLS 1.3 版本很簡(jiǎn)單,ssl_protocols 增加 TLSv1.3 即可。

運(yùn)行如下命令啟動(dòng) Nginx:

$ ./sbin/nginx

測(cè)試 TLS 1.3

使用三種方式測(cè)試網(wǎng)站是否支持 TLS 1.3 版本。

1)OpenSSL 命令行

運(yùn)行下列命令:

$ /usr/local/openssl1.1.1/bin/openssl s_client -connect www.simplehttps.com:443 -tls1_3  

# 輸出

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
SSL-Session:
 Protocol : TLSv1.3
 Cipher : TLS_AES_256_GCM_SHA384

可見(jiàn) TLSv1.3 已經(jīng)成功支持。

2)Chrome

目前主流的瀏覽器都支持 TLS 1.3 版本,具體見(jiàn)下圖:

Chrome 從 62 版本默認(rèn)開啟 TLS 1.3 的支持,如果是 62 以下的版本,可以進(jìn)行下列的配置。

(1)工具欄上打開 chrome://flags/

(2)啟用 TLS 1.3

需要注意的是,如果服務(wù)器端支持的 draft 版本和瀏覽器支持的 draft 版本不一致,那么 HTTPS 網(wǎng)站將不能訪問(wèn)。

(3)重新啟動(dòng)瀏覽器

然后打開瀏覽器,對(duì) https://www.simplehttps.com 進(jìn)行測(cè)試。


3)Firefox

Firefox 從 47  版本默認(rèn)開啟 TLS 1.3 的支持,如果是 47 以下的版本,可以進(jìn)行下列的配置。

(1)工具欄上打開 about:config

(2)修改 security.tls.version.max 為 4

(3)重新啟動(dòng)瀏覽器

然后打開瀏覽器,對(duì) https://www.simplehttps.com 進(jìn)行測(cè)試。


總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • nginx配置proxy_pass后返回404問(wèn)題以及Nginx host相關(guān)變量的說(shuō)明

    nginx配置proxy_pass后返回404問(wèn)題以及Nginx host相關(guān)變量的說(shuō)明

    這篇文章主要介紹了nginx配置proxy_pass后返回404問(wèn)題以及Nginx host相關(guān)變量的說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Nginx配置https的實(shí)現(xiàn)

    Nginx配置https的實(shí)現(xiàn)

    本文主要介紹了Nginx配置https的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過(guò)程

    SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過(guò)程

    Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,這篇文章主要介紹了SpringBoot前端后端分離之Nginx服務(wù)器,需要的朋友可以參考下
    2022-08-08
  • 一篇文章讀懂nginx的gzip功能

    一篇文章讀懂nginx的gzip功能

    nginx提供了對(duì)文件內(nèi)容壓縮的功能,允許將內(nèi)容在發(fā)送到客戶端之前根據(jù)具體的策略進(jìn)行壓縮從而節(jié)約帶寬,下面這篇文章主要給大家介紹了如何通過(guò)一篇文章讀懂nginx的gzip功能,需要的朋友可以參考下
    2022-05-05
  • Nginx前端頁(yè)面刷新后出現(xiàn)404的原因與解決方案

    Nginx前端頁(yè)面刷新后出現(xiàn)404的原因與解決方案

    這篇文章主要來(lái)為大家詳細(xì)介紹一下Nginx前端頁(yè)面刷新后出現(xiàn)404 Not Found的原因與對(duì)應(yīng)的解決方案,有需要的小伙伴可以根據(jù)情況參考一下
    2025-03-03
  • nginx配置虛擬主機(jī)vhost的方法詳解

    nginx配置虛擬主機(jī)vhost的方法詳解

    Nginx vhost配置,可實(shí)現(xiàn)基于ip、端口號(hào)、servername的虛擬主機(jī),同時(shí)可避免直接修改主配置文件。在nginx下配置虛擬主機(jī)vhost非常方便。這篇文章主要介紹了nginx配置虛擬主機(jī)vhost的方法,需要的朋友可以參考下
    2017-03-03
  • nginx+rsync+inotify實(shí)現(xiàn)負(fù)載均衡配置方法

    nginx+rsync+inotify實(shí)現(xiàn)負(fù)載均衡配置方法

    這篇文章主要介紹了nginx+rsync+inotify實(shí)現(xiàn)負(fù)載均衡配置方法,需要的朋友可以參考下
    2014-11-11
  • Nginx訪問(wèn)控制與參數(shù)調(diào)優(yōu)的方法

    Nginx訪問(wèn)控制與參數(shù)調(diào)優(yōu)的方法

    這篇文章主要介紹了Nginx訪問(wèn)控制與參數(shù)調(diào)優(yōu)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Nginx如何配置多個(gè)服務(wù)域名解析共用80端口詳解

    Nginx如何配置多個(gè)服務(wù)域名解析共用80端口詳解

    對(duì)于Web而已,80端口和443端口是十分重要的,下面這篇文章主要給大家介紹了關(guān)于Nginx如何配置多個(gè)服務(wù)域名解析共用80端口的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Nginx配置SSL證書的實(shí)現(xiàn)步驟

    Nginx配置SSL證書的實(shí)現(xiàn)步驟

    本文詳細(xì)介紹了如何為Nginx服務(wù)器配置SSL證書,確保通過(guò)HTTPS安全訪問(wèn),步驟包括DNS解析驗(yàn)證、下載和安裝SSL證書、安裝Nginx、配置nginx.conf文件以及設(shè)置HTTPS重定向,感興趣的可以了解一下
    2024-09-09

最新評(píng)論

秀山| 张掖市| 黔江区| 田阳县| 略阳县| 九江市| 称多县| 睢宁县| 郎溪县| 衡南县| 华阴市| 阿勒泰市| 永新县| 静安区| 临湘市| 安福县| 曲阳县| 呼和浩特市| 柯坪县| 潼关县| 安溪县| 丰宁| 富川| 垦利县| 台东市| 改则县| 靖边县| 额尔古纳市| 克什克腾旗| 景泰县| 榆林市| 锦州市| 堆龙德庆县| 古蔺县| 长宁区| 祁门县| 德令哈市| 庆安县| 牟定县| 兰考县| 台南县|