- TFS 2013
- Windows Server 2012
- IIS 8.5
- Application Request Routing (ARR)
I'm using ARR for a reverse proxy to reroute any requests for a URL on that server to the IP address that I have setup for TFS on that server.
Everything works great, except in Chrome (don't get to say that very often).
When browsing the web version of my TFS install and visiting a "Team Room", I get a SignalR error in the Chrome console:
403 (Forbidden: SignalR cross domain is disabled.)
The same link in FF and IE works fine. Also, if I visit the Team Room link directly via the TFS IP address (bypassing ARR), it works fine.
I've tried a bunch of different things to solve the issue.
Adding this header to the web.config for TFS
<add name="Access-Control-Allow-Origin" value="http://tfs.mydomain.com"/>
Setting the connection URL of the SignalR connection in JavaScript and using JSONP like so:
$.connection.hub.url = "http://my.ip.address:8080/tfs/signalr";
options = ({jsonp: true})
$.connection.hub.start(options)
I even tried another approach I found online which disabled the cache on ARR.
Many solutions out there say that I should enable cross domain requests for SignalR on the server, however since this is for a TFS install, I don't have the freedom to modify the binaries for TFS (as far as I know) and I wasn't able to find a way to do this on the client by looking at the SignalR API.
The only other answer I came across for this problem was that Chrome is bugged and not to use it (which is undesirable).
Does anybody know how I can use Chrome to access TFS team room functionality?