KB Article #181785
When using SignalR, websocket connections to API Gateway fail at calls to /negotiate
Problem
When connecting to API Gateway with SignalR, you see failed calls to your websocket like:
POST /websocket/negotiate?negotiateVersion=1
Resolution
This is caused by an extension that the API Gateway does not support. It is necessary to use option.SkipNegotiation in your SignalR configuration to skip SignalR's negotiation step, e.g.
_signalRConnection = new HubConnectionBuilder()
.WithUrl(this._hubUrl, option =>
{
option.Headers.Add("Authorization", "Basic <credentials here>");
option.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransportType.WebSockets;
option.SkipNegotiation = true;
})
.ConfigureLogging(logging =>
{
})
.Build();