【发布时间】:2015-11-20 19:06:21
【问题描述】:
我的 SignalR 服务器正在侦听以下 URL:
http://staging.myserver.com/socket/signalr
我在本地进行了测试并且它可以工作,但是当我部署时,我正在通过 NGINX 代理运行(因此/socket/)
当它尝试连接到已部署的 SignalR 服务器时,它失败了,我可以看到它正在尝试使用带有 /socket/ 省略的 URL 进行连接。
我尝试调试以查看是否有一项运动会删除除基本 url 之外的所有内容并附加 /signalr,但我似乎找不到任何内容。
我可以点击以下 URL 并完美地查看我的集线器。
http://staging.myserver.com/socket/signalr/hubs
我只是不知道为什么它在尝试连接时忽略了网址中的/socket。
这或多或少是我所拥有的一个例子
var connection = $.hubConnection('http://staging.myserver.com/socket/signalr');
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');
contosoChatHubProxy.on('addContosoChatMessageToPage', function(name, message) {
console.log(name + ' ' + message);
});
connection.start().done(function() {
//blah blah
});
我可以看到它在第一次初始化连接时采用了正确的 URL,但在此过程中的某个地方,它默认为
http://staging.myserver.com/signalr
我能够绕过它的唯一方法是在我的 NGINX 代理上向/ 添加一个附加代理。这不是可以坚持的东西,所以我需要弄清楚。
【问题讨论】:
标签: sockets proxy signalr signalr-hub signalr.client