kubernetes SignalR(在docker容器上)升级到.NET8后网关坏了

x33g5p2x  于 2024-01-06  发布在  Kubernetes
关注(0)|答案(1)|浏览(167)

所以我们刚刚将.NET 6项目升级到.NET 8,一切都很好,除了SignalR连接。
我们在kubernetes集群上运行,并有一个入口和服务(没有改变)来连接到运行.NET应用程序的docker容器。
当我们运行.NET 6容器时,一切都很完美,但是一旦我们部署了.NET 8容器,HubConnection.StartAsync(来自其他应用程序)就会抛出:
'响应状态代码未指示成功:502(Bad Gateway)。'
有没有人知道.NET 8或Docker容器(mcr.microsoft.com/dotnet/aspnet:8.0)与.NET 6相比是否发生了变化,这使得它不会暴露端口或其他会阻止通信的东西?
我们已经尝试在localhost上运行它,然后它可以连接。而且.NET 6应用程序仍然可以正常运行,所以这让我相信这不是Kubernetes的入口或服务,而是容器中的东西。
Dockerfile:

  1. FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
  2. FROM base AS final
  3. WORKDIR /app
  4. COPY . .
  5. ENV TZ="Europe/Amsterdam"
  6. EXPOSE 80
  7. ENTRYPOINT ["dotnet", "application.dll"]

字符串

kg7wmglp

kg7wmglp1#

微软更新了Dotnet 8镜像,默认使用8080和8081端口
在Andrew Lock的博客上有一篇很棒的文章:https://andrewlock.net/exploring-the-dotnet-8-preview-updates-to-docker-images-in-dotnet-8/
当我们在RC 1时间开始迁移时,我在类似的情况下遇到了类似的问题。在更新相关服务以转发到端口8080/81后,一切都恢复了正常。
然而,我认为一个类似的问题可能已经在GA版本中返回(我通过搜索我的答案找到了你的问题!)

相关问题