日暮星辰

Zach's Blog

使用Oneinstack实现TLS1.3部署

一直在使用OneInstack,一直为网站部署了SSL,随着TLS1.3的草案落实发布,Openssl也发布了多个草案适配的TLS1.3的OPENSSL测试版套件。本文在此提供一种方案实现部署TLS1.3实现draft 23.

1.按照OneInstack网站下载WEB运维脚本源码,解压。

2.修改根目录下versions.txt文件,修改Openssl和NGINX版本要求,目前是为了下载适用的openssl-1.1.1-pre2版本和NGINX版本

nginx_ver=1.13.11
openssl_ver=1.1.1-pre2

3.修改oneinstack源码中./include/check_download.sh文件中openssl-1.1.1-pre2下载连接,由于新版本的openssl-1.1.1-pre3和pre4版本的发布,openssl官网上的pre2的连接更新至:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1-pre2.tar.gz

  echo "Download openSSL..."
  src_url=https://www.openssl.org/source/old/1.1.1/openssl-${openssl_ver}.tar.gz && Download_src

 

4.按照以上设置,按照正常的oneinstack安装程序安装会出现x25519-x86_64一个文件的编译错误,是由于在openssl-1.1.1-pre2源码中一直存在一个错误:在./crypto/ec/asm/x25519-x86_64.pl 文件中末尾存在一个变量错误,更正如下:

close STDOUT;

考虑下载的覆盖问题,我建议直接下载openssl-1.1.1-pre2源码修改完成打包文件名为openssl-1.1.1-pre2.tar.gz直接放置于oneinstack源码中./src文件夹中。安装时候才不会下载源码覆盖。

5.完成以上后可以正常安装编译。完成后新建vhost网站,修改nginx对应的conf设置:

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

修改完成重启nginx

6.设置浏览器支持tls1.3

目前最新版 Chrome 和 Firefox 都支持 TLS 1.3,但需要手动开启:

  • Chrome,将 chrome://flags/ 中的 Maximum TLS version enabled 改为 TLS 1.3(Chrome 62 中需要将 TLS 1.3 改为 Enabled (Draft));
  • Firefox,将 about:config 中的 security.tls.version.max 改为 4

目前ssllabs和myssl两个ssl检测网站都无法识别tls1.3 draft 23,因此检测不到TLS1.3.

至此,网站已经正常启用TLS1.3

《使用Oneinstack实现TLS1.3部署》

 

点赞
  1. Hakurui_Reimu说道:

    1.针对需要改下载链接的问题,我只能说:我没改....也下载到了....
    2.对于编译错误问题,我在使用博主此篇文章的链接时也遇到了。但在我未经修改下载地址而下载的源码包中未发现此编译异常。
    3.总之就当做玄学问题处理吧...

    1. zach说道:

      谢谢你的文章的指导,弄清楚了还是源码本身的那个错误我没有修复好。

  2. Hakurui_Reimu说道:

    ps:是c7v5主题么,风格挺不错的。

    1. zach说道:

      是的。花钱买的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注