nginx - SSL 会话恢复

nginx - SSL 会话恢复

我已经在多台服务器(我们的负载均衡器)上安装了 nginx。

当我使用以下方式检查我的 SSL 安装时https://www.ssllabs.com/我每台服务器都获得了 A+ 的结果,但第一台服务器总是

会话恢复(缓存) (已分配 ID 但不被接受)

而其他所有服务器都有

会话恢复(缓存) 是的

所有服务器均自动配置,因此完全相同。我还使用以下命令检查了 nginx 配置:

/usr/sbin/nginx -T > lb1.nginx
/usr/sbin/nginx -T > lb2.nginx
...

但并没有什么区别。

每个服务器上的 ssl_session 配置如下:

  ssl_session_timeout 1d;
  ssl_session_cache   shared:SSL:100m;

现在到了有趣的部分:

我有十个负载均衡器,第一个由 ssllabs 标记为“会话恢复:否”。

现在我将第一台服务器的 IP 地址移至第二台服务器。ssllabs 的第一个请求现在转到第二台服务器,并显示“会话恢复:否”。第二个请求也转到第二台服务器,并显示“会话恢复:是”。但两个查询都到达同一台服务器。

在我看来,ssl labs 对第一个请求做了一些不同的事情。

还有其他原因导致 ssllabs 只对第一个请求显示没有会话恢复,无论哪个服务器是“第一个”?

答案1

我认为如果你当前的配置中还没有这个配置,那么你需要添加这个配置,

ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;

你确定两台服务器的配置相同吗?请使用“nginx -T”命令检查,此命令将显示实际的 nginx 配置。如果两台服务器之间“nginx -T”命令的结果存在差异,则错误是由于你没有重新加载 nginx 配置。谢谢

相关内容