ssl_handshake_timeout
ssl_handshake_timeout 指令设置允许完成 SSL 握手的最长时间。 — NGINX Stream Core
ssl_handshake_timeout
streamstream server
语法ssl_handshake_timeout time;
默认值none
上下文stream, stream server
模块NGINX Stream Core
参数1
说明
`ssl_handshake_timeout` 指令在 NGINX Stream Core 模块中用于指定服务器在建立安全连接时等待 SSL 握手完成的最大时长(以秒为单位)。正确配置该超时对于确保客户端在尝试建立安全连接时不会无限期挂起非常重要。如果超过指定的时间限制,连接将被中止,服务器会记录一条错误日志。 该指令的参数是以秒为单位指定的时间值。如果握手在指定超时之前未完成,服务器将终止连接。该指令对于需要安全连接的 high-reflection 应用尤其重要,因为在握手过程中保持低延迟对于性能和用户体验至关重要。通过根据预期的网络状况和客户端行为适当设置超时值,服务器管理员可以有效优化 SSL 连接的处理。 该指令可在 `stream` 和 `stream server` 两种上下文中声明,从而允许针对每个服务器灵活配置 SSL 超时行为。需要注意的是,该指令仅在 stream 模块中启用 SSL 时适用,应进行充分测试以确定特定用例的最佳超时值。
配置示例
stream {
server {
listen 443;
ssl_handshake_timeout 10s;
ssl_preread on;
}
}⚠
在使用此指令之前,请确保在 NGINX 的 stream 配置中启用了 SSL,因为它仅在该上下文中生效。
⚠
将超时设置得过低可能会导致在握手较慢时合法客户端被断开连接,尤其是在高延迟网络中。