Use Cockpit with Safari on an iPhone or iPad

Safari’s default WebSocket framework on iOS, iPadOS, and ARM-based Macs does not support the WebSocket Secure sessions which Cockpit needs to function when using a self-signed or otherwise invalid certificate, even when they are manually marked as trusted. Installing a valid certificate should resolve this issue.

As an alternative workaround, you can enable Apple’s future/experimental WebSocket framework which does work as expected.

iOS and iPadOS

  1. Open the Settings app

    iPhone settings

  2. Scroll down and tap on “Safari

    iPhone settings, scrolled mid-way down Safari settings highlighted

  3. Scroll down to the bottom and tap on “Advanced

    Safari settings Advanced highlighted

  4. Tap on “Experimental Features” at the bottom

    "Experimental Features" highlighted

  5. Scroll down until you see “NSURLSession WebSocket

    Experimental Features "NSURLSession Websocket" highlighted

  6. Enable “NSURLSession WebSocket

    "NSURLSession Websocket" off by default "NSURLSession Websocket" turned on manually

  7. You’re done! Navigate to Cockpit with Safari and sign in normally.

    Safari icon

macOS on ARM (M1)

  1. Open Safari’s settings, select “Advanced”, and enable “Show Develop menu in menu bar

    Safari's settings

  2. Go to Safari’s “Develop” menu, select “Experimental Features”, and enable “NSURLSession WebSocket

    Safari's settings

  3. You’re done! Navigate to Cockpit with Safari and sign in normally.

    Safari icon