Apache 在第一次 HTTPS 请求后关闭 TLS 连接

Apache closing TLS connection after first HTTPS request

提问人:Louis Bernard 提问时间:10/15/2023 更新时间:10/15/2023 访问量:28

问:

我正在使用自定义 HTTP/1.1 客户端通过 HTTPS 连接到我的 apache 服务器。此客户端要求连接至少保持 2 个 HTTP 请求的连接处于活动状态。但是,我注意到,当使用 HTTPS 时,Web 服务器将仅在一个 HTTP 请求后关闭 TLS 连接,即使 keep-alive 应该是 HTTP/1.1 的默认值(当通过 HTTP 连接到同一服务器时,连接将保持活动状态)。

客户端遇到的具体错误是,处理安全连接的 Windows API 将返回,指示远程服务器启动了关闭。SEC_I_CONTEXT_EXPIRED

如何防止这种行为?

Apache SSL HTTPS SCHANNEL

评论

2赞 Steffen Ullrich 10/15/2023
“此客户端要求连接至少保持 2 个 HTTP 请求的连接处于活动状态。”- 这个客户端显然是坏的,因为在HTTP中不应该做出这样的假设。客户端和服务器可以在每次响应后自由关闭连接 - 无论它们是否支持保持活动状态。
0赞 Steffen Ullrich 10/15/2023
“我怎样才能防止这种行为?”- 请参阅有关此主题的 Apache 文档
0赞 Louis Bernard 10/15/2023
1. 我已经尝试设置 KeepAlive 指令,但它没有任何效果。2. 当服务器刚刚关闭连接时,客户端应该如何表现?只是建立一个全新的连接?
2赞 Steffen Ullrich 10/15/2023
正确,如果服务器关闭连接,则只需为下一个请求创建一个新连接。

答: 暂无答案