Collabora working, answering with XML no go with iOS

I have Nextcloud 33 setup running Collabora, what I guess is the latest version. It is working perfect!
So then I thought lets use it on iOS as well. Bugger.
I have read and googled - soon I am gonna throw Claude on it.

I do have nginx proxy manager as a reverse proxy, https://office.mydomian.xy shows OK.
Adding /hosting/discovery to is, on iOS I get an blank page in an desktop browser an XML.

This is the Collaboara docker config:


  collabora:

    image: collabora/code

container_name: collabora

restart: unless-stopped

ports:

      - "9980:9980"

environment:

      - aliasgroup1=https://nextcloud.mydomain.internet:443

      - username=colladmin

      - password=${COLLABORA_ADMIN_PW}

      - COOLWSD_ADMIN_USER=colladmin

      - COOLWSD_ADMIN_PASSWORD=${COLLABORA_ADMIN_PW}

      - "extra_params=--o:ssl.enable=false --o:ssl.termination=true"

      - server_name=office.mydomain.internet

      - dictionaries=en_US sv_SE

volumes:

       - ./appdata/collabora/coolwsd.xml:/etc/coolwsd/coolwsd.xml:ro

cap_add:

      - MKNOD

tty: true

networks:

      - proxy

This is the custom config I have in nginx proxy manager:
location /cool/adminws {
proxy_pass http://10.1.1.10:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection โ€œUpgradeโ€;
proxy_set_header Host $host;
proxy_set_header Authorization $http_authorization;
proxy_read_timeout 36000s;
}

What have I done wrong?

Hii @ratnose

Thanks for sharing the config

This is a common iOS + Collabora/COOL reverse proxy issue.

When iOS Safari or the Nextcloud iOS app requests /hosting/discovery, it sends different headers than desktop browsers. If nginx is not forwarding this endpoint correctly, iOS may show a blank page.

Likely problem

Your nginx config only proxies /cool/adminws. Collabora requires additional endpoints like:

  • /cool/
  • /hosting/discovery
  • /hosting/capabilities

You also need proper WebSocket headers and proxy_buffering off for iOS.

Example nginx config

location /cool/ {
    proxy_pass http://10.1.1.10:9980;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";

    proxy_read_timeout 36000s;
    proxy_buffering off;
}

location /hosting/discovery {
    proxy_pass http://10.1.1.10:9980;
    proxy_set_header Host $host;
}

location /hosting/capabilities {
    proxy_pass http://10.1.1.10:9980;
    proxy_set_header Host $host;
}

Also verify

  • server_name in the container matches your domain exactly
  • https://yourdomain/hosting/discovery returns valid XML with public URLs

If /hosting/discovery is not proxied correctly, iOS clients usually fail to load Collabora.

i see this dicsaussion on NC forum Collabora does not work behind reverse proxy - ๐Ÿ“„ Office - Nextcloud community

can you also check in current forum and NC forum there will definelty similer issue and solution be present