我的SignalR服务器正在侦听以下网址:
http://staging.myserver.com/socket/signalr
我在本地进行了测试,但是当我部署时,我正在运行NGINX代理(因此/socket/
)
当它尝试连接到已部署的SignalR服务器时,它失败了,我可以看到它正在尝试使用省略了/socket/
的URL进行连接。
我曾尝试调试以查看是否存在除了基本网址之外的所有内容并且附加/signalr
但我似乎无法找到任何内容的运动。
我能够点击以下网址,看到我的中心完全正常。
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代理上向/
添加一个附加代理。这不是能够坚持的东西所以我需要弄明白。