首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用TLSv1.3的SSL警报号70

使用TLSv1.3的SSL警报号70
EN

Stack Overflow用户
提问于 2022-02-07 18:58:08
回答 1查看 3.1K关注 0票数 0
代码语言:javascript
运行
复制
# nginx -V
nginx version: nginx/1.21.4
built with OpenSSL 1.1.1f  31 Mar 2020

我已经将nginx配置为支持TLSv1.3。

代码语言:javascript
运行
复制
ssl_protocols  TLSv1.2 TLSv1.3;

但我无法用TLSv1.3找到我的主机:

代码语言:javascript
运行
复制
# openssl s_client -connect hostname.com:443 -tls1_3
CONNECTED(00000003)
140544753464640:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1543:SSL alert number 70
---
no peer certificate available
...

只有TLSv1.2起作用:

代码语言:javascript
运行
复制
# openssl s_client -connect hostname.com:443 -tls1_2
CONNECTED(00000003)
...

任何主机,如google.com或cloudflare.com,都可以使用相同的openssl命令很好地连接。

当然,SSL实验室测试也证实TLSv1.3支持未启用。

我还读过这条线并进行了二次检查,并且只有一行(也是唯一的) cd /etc/nginx; grep -rl "ssl_protocols"行,它只输出一个文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-08 10:47:43

我发现了我的问题,我配置了一个默认的"catch all“服务器,如下所示:

代码语言:javascript
运行
复制
server {
    listen 443 ssl default_server;
    ssl_reject_handshake on;
}

如这里的文档中所指定的:握手

通过删除ssl_reject_handshake on;并在该服务器上返回444解决了问题,如下所示:

代码语言:javascript
运行
复制
server {
    listen 443 ssl default_server;
    ssl_certificate ssl/cert.pem;
    return 444;
} 

这是一个已知臭虫,应该用OpenSSL 1.1.1h修复

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71023951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档