gpt4 book ai didi

nginx - Nginx 后面的 ASP.NET Core 中的 SignalR

转载 作者:行者123 更新时间:2023-12-04 02:43:09 24 4
gpt4 key购买 nike

我有一个使用 ubuntu 16.04、kestrel 和 nginx 作为代理服务器的服务器,它重定向到我的应用程序所在的本地主机。我的应用程序在 Asp.Net Core 2 上。我正在尝试添加推送通知并使用 SignalR 核心。在本地主机上一切正常,在带有 iis 和 windows 的免费主机上也运行良好。但是当我在 linux 服务器上部署我的应用程序时,我有一个错误:

signalr-clientES5-1.0.0-alpha2-final.min.js?v=kyX7znyB8Ce8zvId4sE1UkSsjqo9gtcsZb9yeE7Ha10:1 WebSocket connection to 'ws://devportal.vrweartek.com/chat?id=210fc7b3-e880-4d0e-b2d1-a37a9a982c33' failed: Error during WebSocket handshake: Unexpected response code: 204



但是只有当我通过我的站点名称从不同的机器请求我的站点时才会发生此错误。当我通过 localhost:port 从服务器请求站点时,一切都很好。所以我觉得nginx有问题。我 read我需要将它配置为使用信号器中使用的 websockets 来建立连接,但我没有成功。可能只是一些愚蠢的错误?

enter image description here

最佳答案

我能够通过使用 $http_connection 而不是 keep-alive 或 upgrade 来解决这个问题

server {
server_name example.com;

location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

我这样做是因为 SignalR 还尝试对我的集线器使用 POST 和 GET 请求,因此仅在单独的服务器配置中升级连接是不够的。

关于nginx - Nginx 后面的 ASP.NET Core 中的 SignalR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48300288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com