nginx篇07-启用HTTP2和TLSv1.3

本文详述如何通过编译安装openssl和nginx以支持HTTP2和TLSv1.3,包括指定openssl目录、配置修改及安全设置。在nginx配置中,启用http2和tls1.3,采用激进的安全策略,并通过myssl和ssllab进行测试,确保支持最新协议。
摘要由CSDN通过智能技术生成

本文主要介绍如何使用编译的方式升级openssl库和nginx用于支持HTTP2和TLSv1.3并且介绍了一些简单的提高nginx安全性的配置。

1、编译安装openssl

考虑到Linux系统中有许多组件都需要使用openssl库,而现在默认使用的openssl库绝大多数都没到达能够支持TLS1.3的openssl1.1.1版本以上,因此个人建议不要直接修改系统已有的默认openssl库而是另外使用一个新目录来编译安装新版本的openssl。

具体的支持信息可以查看openssl官网的TLSv1.3部分

解压下载的稳定版openssl1.1.1g进行编译安装,注意使用--prefix=指定安装目录

# 下载
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
# 解压
tar -zxvf openssl-1.1.1g.tar.gz
# 配置、编译
./config  --prefix=/home/openssl
make
# 检查是否出错
make test
# 安装
make install

安装完成后检查链接库是否正常,将缺少的文件直接软链接到系统的/usr/lib64目录下

ln -s /home/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /home/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

最后检查系统使用的openssl的版本是否为新版以及系统的库指向是否正确

2、编译安装nginx

2.1 nginx的TLS1.3和HTTP2

想要在nginx中开启TLS1.3的支持,只需要使用支持TLS1.3的openssl库来进行编译即可。

查看nginx的版本更新说明我们可以知道nginx从1.9.5版本开始支持HTTP2:

从1.13版本开始支持TLS1.3

2.2 指定openssl目录进行nginx编译安装

nginx的编译安装此前已经介绍过了,有需要的同学可以点击这里回顾。

wget http://nginx.org/download/nginx-1.18.0.tar.gz

这次我们使用的是截止2020年5月19号最新的稳定版本nginx1.18.0,一些注意的事项如下:

  • --with-http_v2_module--with-http_ssl_module用于支持HTTP2和ssl加密,
  • --with-openssl=用于指定openssl库的安装目录
  • --with-openssl-opt=enable-tls1_3用于开启openssl库的tls1.3支持,但是现在的新版本已经默认开启,无需额外添加这个参数

剩下的就和常规的编译安装无异,下面是此次编译的参数:

./configure --prefix=/home/nginx \
--sbin-path=/home/nginx/sbin/nginx \
--with-openssl-opt=enable-tls1_3 \
--with-openssl=/home/openssl \
--conf-path=/home/nginx/nginx.conf \
--error-log-path=/home/nginx/logs/error.log \
--http-log-path
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要在nginx启用TLS1.3,你可以按照以下步骤进行操作。首先,关闭nginx,可以使用命令"./nginx -s stop"来关闭nginx。\[1\]然后,将编译安装的新版本的nginx配置文件复制到/usr/local/openresty/nginx/sbin目录下,并备份原来的nginx配置文件。\[1\]如果你还想使用全局命令nginx,可以先将原来的yum安装的nginx移除,然后将编译安装的新版本的nginx指向系统目录。你可以使用命令"which nginx"查看nginx的指向,然后使用"mv"命令将原来的nginx指向备份,最后使用"ln -s"命令将编译安装的新版本的nginx指向系统目录。\[2\]需要注意的是,如果你想在单个server下开启TLS1.3功能,你需要将所有的server块中的https下都开启TLS1.3才能生效。\[3\] #### 引用[.reference_title] - *1* *3* [nginx配置开启单个server下的TLS1.3](https://blog.csdn.net/weixin_43652106/article/details/108083055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [nginx07-启用HTTP2TLSv1.3](https://blog.csdn.net/qq_36885515/article/details/123138045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值