Nginx 1.15.6与openssl 1.1.1,EarlyData未发送

问题描述 投票:1回答:1

我们设置了“ssl_early_data on;”和“proxy_set_header Early-Data $ ssl_early_data;”在使用openssl 1.1.1构建的nginx 1.15.6配置中,但是当我们运行以下命令时,它显示EarlyData未发送。任何想法如何解决这个问题?

openssl s_client -connect www.rupeevest.com:443

SSL握手已读取4693个字节并写入399个字节

验证:好的

新增,TLSv1.3,密码为TLS_AES_256_GCM_SHA384服务器公钥为2048位不支持安全重新协商压缩:无扩展:无无ALPN协商未发送早期数据

验证返回码:0(ok)


nginx openssl tls1.3
1个回答
2
投票

为了发送“早期数据”,客户端和服务器必须支持PSK交换模式(会话cookie)。见https://tools.ietf.org/html/rfc8446#section-2.3

要使用OpenSSL进行验证,作为用例示例,首先将会话保存到文件,然后使用该会话文件并将早期数据(HTTP请求)发送到服务器。

$ host=www.example.org # replace with your server name
$ echo -e "HEAD / HTTP/1.1\r\nHost: $host\r\nConnection: close\r\n\r\n" > request.txt
$ openssl s_client -connect $host:443 -tls1_3 -sess_out session.pem -ign_eof < request.txt
$ openssl s_client -connect $host:443 -tls1_3 -sess_in session.pem -early_data request.txt

请注意,您的服务器必须支持TLS 1.3和0-RTT,否则示例将不起作用。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.