SignalR握手仅在部署中失败

时间:2019-12-14 00:27:08

标签: nginx signalr

我有一个非常简单的服务,正在尝试进行部署。我看到的问题 only 在部署时出现,我无法在本地复制。我的部署是在使用nginx和Docker的K8S背后进行的,我们进行了设置,以便对我们任何服务的任何请求都必须首先具有一个有效的JWT令牌,nginx会为我们验证该令牌。

使用kubectl检出该服务时,我可以看到该服务正在运行并且运行状况良好。我可以手动点击运行状况检查端点以验证是否可以看到该服务。这个特定的服务器没有我可以访问的HTTP端点,但是在同一主机下可以运行我可以正常运行的另一项服务,并且它们的部署几乎相同,除了允许Websocket的nginx注释({{1} }。

我已经尝试了一些方法来进行健全性检查...

  1. 验证了我要访问的URL,将其放置在错误的端点中只是为了确保(我得到的是404),
  2. 已验证如果我无法发送oauth令牌,我会得到不同的结果(我确实得到了预期的401)
  3. 打开了服务上SignalR的调试日志记录,除了我知道握手过程中会失败之外,它没有提供任何有用的信息。

(很抱歉,这是一个摘要,这是我能够方便地格式化日志输出的唯一方法)

nginx.org/websocket-services: <MY_SIGNALR_SERVICE_NAME>

我从这些日志中收集了一些相当有用的信息...看来,我的客户端(这只是一个使用AspNetCore SignalR Client软件包进行连接的C#应用​​程序)正在尝试多次连接,然后失败。看起来事情正在遭受打击并且可以正常工作,但是没有任何事情能够解决。

我不知道该怎么办。我尝试手动将最新的SignalR软件包包括在内,但是没有用。我已经查看并搜索了日志中是否有任何有用的东西,但是我没有取得任何进展。

让这个东西正常工作我是否错过了任何明显的事情?

0 个答案:

没有答案