http: middlewares: mqtt-websocket-headers: headers: customResponseHeaders: Access-Control-Allow-Origin: "*" accessControlAllowMethods: - "GET" - "POST" - "PUT" - "DELETE" - "OPTIONS" accessControlAllowHeaders: - "Origin" - "Accept" - "Content-Type" - "X-Requested-With" - "Authorization" accessControlMaxAge: 600 routers: mqtt-ws: rule: "Host(`mqtt.eluxnetworks.net`) && PathPrefix(`/ws`)" service: "mqtt-ws-service" entrypoints: ["websecure"] tls: certresolver: "letsencrypt" middlewares: - mqtt-websocket-headers services: mqtt-ws-service: loadBalancer: passHostHeader: true serversTransport: "websocket-transport" servers: - url: "ws://192.168.68.70:9003" # Create a specific transport for WebSockets to ensure proper handling of connections serversTransports: websocket-transport: forwardingTimeouts: dialTimeout: 30s responseHeaderTimeout: 30s idleConnTimeout: 120s