RESOLVED MOVED 259743
iCloud Private Relay causing websockets to close after several minutes on 16.4+
https://bugs.webkit.org/show_bug.cgi?id=259743
Summary iCloud Private Relay causing websockets to close after several minutes on 16.4+
Michael Whittemore
Reported 2023-08-02 11:52:36 PDT
When using iCloud Private Relay on Safari iOS 16.4+ and iOS 17 beta (we’re not sure which version introduced this regression), websocket connections close with code 1006 after several minutes. This can be reproduced consistently with the following steps: 1. Enable iCloud relay & disable any VPNs on your iOS device. 2. Set up a simple websocket server that allows a connection and logs when a connection has been closed. In our case, we used the node websocket module (https://www.npmjs.com/package/ws) and made it available via the ngrok reverse proxy. Here’s a jist with the server-side code(https://gist.github.com/cpettet/f8fbbb071a7dbf48e5dc69fe2c7cbda8). 3. Fork the following JS fiddle and change the URI to target your server https://jsfiddle.net/michaelwhittemore/0wLpzt9b/. 4. Open the JS fiddle on your iOS device with the private relay. Observe that the socket closes after five to six minutes. This should be consistently reproducible. From what we’ve seen, it’s not related to connections being stale, as even a message sent every 30s or 1s does not keep the WebSocket open.We suspect this may be related to the changing IP address in the private relay implementation.
Attachments
Radar WebKit Bug Importer
Comment 1 2023-08-02 19:26:16 PDT
Brent Fulgham
Comment 2 2023-12-21 15:16:03 PST
The fix for this issue needs to be made outside of the WebKit Open Source project. Resolving as MOVED. We believe this is now fixed at the server side
Note You need to log in before you can comment on or make changes to this bug.