【发布时间】:2019-04-09 11:14:38
【问题描述】:
我有以下设置:
- Service Fabric 集群运行 5 台机器,多个服务在 Docker 容器中运行
- 一个开放了 443 端口的公共 IP,转发到运行 Traefik 的服务
- Traefik 终止 SSL,并将请求代理到通过 HTTP 请求的服务
这是我得到的行为:
- 对 https:// 的第一个请求非常非常慢。 Chrome 通常会在超时或“无内容”错误后最终加载它。 Powershell 中的 Invoke-WebRequest 通常只是超时并显示“底层连接已关闭”消息。
- 但是,一旦加载,我可以刷新内容或再次运行命令,它的响应非常非常快。只要 URL 有正常流量,它就会起作用。
- 如果我离开一会儿(不确定时间,肯定是几分钟),它就会死去,然后回到起点。
我的问题:
什么会导致 SSL 握手中断或永远持续?这个堆栈中的哪个组件是罪魁祸首? Service Fabric 中的某些内容是否超时?这是Traefik的事情吗?如果它更稳定,我可以切换到 Nginx。我们在 IIS 上使用这些相同的证书,我们没有这个问题。
我可以使用 New Relic 之类的东西每分钟不断发送一个 ping 以保持一切正常,但我宁愿弄清楚为什么几分钟后连接就会断开。
调试此问题的最佳方法是什么?我在 Traefik 日志文件中看不到任何内容(在 DEBUG 模式下),实际上当它没有连接时,访问日志中根本没有请求记录。任何可以帮助调试的工具?谢谢!
【问题讨论】:
-
您是否使用本地集群进行测试?
-
这是在 Azure..
标签: ssl https azure-service-fabric traefik