In OpenVidu 3.5 single-node, OpenVidu Meet worked, but OpenVidu Components (Angular) could not join rooms in a split-VM deployment where:
-
VM A runs the OpenVidu 3.5 stack (domain rtc.example.com)
-
VM B runs the web app + token backend (domain app.example.com)
In this setup the browser attempts:
wss://rtc.example.com/rtc/v1?access_token=… and the WS connection fails.
After a lot of head-scratching and trial-and-error, we found the cause was in the default Caddy YAML on VM A: the route that proxies RTC signaling to 127.0.0.1:7780 matched “/rtc” but not “/rtc/*”. As a result, requests to “/rtc/v1” were not routed to the RTC upstream and instead fell through to the default handler.
Once we added “/rtc/*” to the same match block (alongside “/rtc” and “/twirp/”) that proxies to 127.0.0.1:7780, OpenVidu Components immediately started joining rooms normally from VM B.
Suggestion: Update the default OpenVidu 3.5 Caddy routing to include “/rtc/*” (or explicitly route “/rtc/v1”) to the RTC signaling upstream so split-VM deployments work out-of-the-box.