We were able to successfully setup a React Web App using ASP Net Core 6 + SignalR with Redis Backplane.
services.AddSignalR(hubOptions => { hubOptions.EnableDetailedErrors = true; })
.AddStackExchangeRedis(appSettings.RedisConnectionString, options => {
options.Configuration.ChannelPrefix = appSettings.RedisPrefix;
});
We are using Kubernetes + Traefik with the following IngressRoute configuration to ensure that the React Web Application maintains connection to one of the servers per session.
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: routes
namespace: default
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`canary-api.app.com`)
services:
- kind: Service
name: app-server-canary
namespace: default
passHostHeader: true
sticky:
cookie:
httpOnly: true
name: "traefik_sticky"
port: 80
tls:
store:
name: default
After these changes, the SignalR based Chat System on our React Web App works but the Ionic React Build of the same application for Mobile Release does not work. Is there something that needs to be done on the React Ionic Build to ensure that it respects the same sticky sessions as the regular React Web App does?
We're confident the server side is okay because the statically served React Web App works fine. It seems like we just missed some configuration in the config xml for React Ionic Build but we're not sure at this point.