[英]SignalR websockets not working on port 80
我遇到了一个问题,所有浏览器都没有通过端口 80 与我的 IIS 10 网络服务器建立 websocket 连接。 如果我 RDP 进入服务器并浏览到应用程序,或者如果我使用 ssl (443) 它工作得很好。 它确实成功回退到长轮询,但我想严格使用 websockets。
我正在使用 4.6 框架运行 asp.net mvc 5 应用程序。 服务器上启用了 Websocket。 有没有其他人遇到过这个问题或有任何解决它的建议?
EDGE 错误:jquery.signalR-2.4.3.js:1893 WebSocket 连接到“ws://”失败:连接在收到握手响应之前关闭
Firefox,Chrome 错误:jquery.signalR-2.4.3.js:1893 WebSocket 连接到 'ws://' 失败
progress = $.connection.manifestHub;
console.log(progress);
progress.client.ShowProgress = function (message) {
$('#ProgressMessage').width(message);
};
$.connection.hub.logging = true;
$.connection.hub.start({ transport: 'webSockets' }).done(function () {
connectionId = $.connection.hub.id;
$("#connectionId").val(connectionId);
console.log(connectionId);
});
var hubConfig = new HubConfiguration();
hubConfig.EnableDetailedErrors = true;
app.MapSignalR(hubConfig);
您的 web 服务器可能不支持 WebSockets,可能是因为您使用的是像 ARR 这样的“代理”服务器,它无法“路由”WebSocket 请求。 尝试在 SignalR 上禁用 WebSockets,如果问题仍然存在,这是一般的 SignalR 问题,但至少您会收到更具体的错误。 如果问题停止,现在您知道这是服务器问题。
你见过这个线程吗? 这是@Andre Pena 提供的答案。 我试过了,这对我有帮助。 我想这可能会对你有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.