emm 先把这个文章放到这里吧

首先下载 Nginx 并解压

wget http://nginx.org/download/nginx-1.15.7.tar.gz
tar zxf nginx-1.15.7.tar.gz

再下载 OpenSSL 1.1.1a 并解压

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar zxf openssl-1.1.1a.tar.gz

然后我们进入 OpenSSL 的文件夹打补丁

cd openssl-1.1.1a
curl https://raw.githubusercontent.com/hakasenyang/openssl-patch/master/openssl-1.1.1-tls13_draft.patch|patch -p1

然后退出 OpenSSL 的文件夹 进入 Nginx 的文件夹

cd nginx-1.15.7

接下来使用 nginx -V 获取以前的编译参数 然后复制下来

./configure --你的配置参数 --with-openssl=/path/to/openssl-1.1.1a

如果你之前的编译参数里(很大可能)有 --with-openssl 那就把后面的目录改成你 openssl-1.1.1a 的目录
然后编译

make && make install

如果没报错的话 编译成功后还需要修改站点的 https 配置
打开站点的配置文件 把里面的 ssl_protocols 和 ssl_ciphers 改成下面的(因为我发现支持 TLS 1.1 并没有什么用于是去掉了)

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA;

然后重启 Nginx 即可