我已经将ssl_early_data on;
设置为nginx.conf (在http { }
中),并且根据以下命令,
echo -e "HEAD / HTTP/1.1\r\nHost: $host\r\nConnection: close\r\n\r\n" > request.txt
openssl s_client -connect example.tld:443 -tls1_3 -sess_out session.pem -ign_eof < request.txt
openssl s_client -connect example.tld:443 -tls1_3 -sess_in session.pem -early_data request.txt
它确实能正常工作。
根据nginx文档 (数据),建议设置proxy_set_header Early-Data $ssl_early_data;
。
我的问题是:我该把这个放在哪里?就在ssl_early_data on;
之后,还在http { }
里面
发布于 2021-11-17 15:22:18
您应该将早期数据传递给应用程序。所以你一定有这样的东西:
http {
...
# Enabling 0-RTT
ssl_early_data on;
...
server {
...
# Passing it to the upstream
proxy_set_header Early-Data $ssl_early_data;
}
}
否则,您可以使应用程序易受重放攻击:https://blog.trailofbits.com/2019/03/25/what-application-developers-need-to-know-about-tls-early-data-0rtt/
https://stackoverflow.com/questions/62874390
复制相似问题