【发布时间】:2019-04-24 05:15:43
【问题描述】:
我们在 docker swarm 中运行一些 aspnet 核心 API,并使用 nginx 作为反向代理服务器。
我们已经运行这个设置一段时间了,没有任何问题。然而最近我们添加了一个从letsencrypt获得的SSL证书。从那时起,我们注意到,在我们点击 /api/TokenAuth/Authenticate 端点并获得分配一个 Bearer 令牌后,如果我们尝试使用刚刚分配的令牌进行后续调用,调用有时会失败并且我们得到一个 302(它有效大约 40% 的时间)。似乎如果我们在一段时间后再次尝试使用相同的令牌,那么调用就会起作用。
奇怪的是,如果我们启用了 ssl(https),这似乎只是一个问题。
我无法在本地复制问题。它似乎只在将 api 部署到我们的 docker swarm 时出现(它运行 nginx 和 api 作为容器,nginx 处理 ssl 证书)。
有人知道问题可能是什么吗?在此之前有没有人经历过这样的事情可以为我指明正确的方向?
【问题讨论】:
-
看起来像“有缓存的东西”。所以我要检查的第一件事是请求是否到达您的应用程序。 (您的服务器或 nginx 是否以 302 响应?)。然后看起来好像您没有发送任何“无缓存”标头?
标签: docker nginx asp.net-core asp.net-core-2.0 docker-swarm