I’m running a fresh Nextcloud AIO install behind SWAG/nginx reverse proxy on Unraid.
Environment:
- Nextcloud AIO
- Nextcloud Server: 34.0.0
- Nextcloud Office / richdocuments: 11.0.0
- Collabora Online Development Edition: 26.04.1.3
- Nextcloud iOS app: 33.0.9.1
- Reverse proxy: SWAG/nginx
- Public URL:
https://[REDACTED_DOMAIN] - AIO Apache reverse proxy target:
http://[LAN_IP]:11000 - Collabora status page in Nextcloud Office settings shows green/reachable
- Browser URL shown by Nextcloud Office:
https://[REDACTED_DOMAIN] - Nextcloud URL used by Collabora:
http://nextcloud-aio-apache.nextcloud-aio:23973
What works:
- Desktop web browser document editing works.
- iPhone Safari document editing works.
- Both
.odtand.docxopen/edit/save correctly through the web UI. - Collabora is reachable according to the Nextcloud Office settings page.
- The iOS app can log in, browse files, and access WebDAV paths.
- The iOS app successfully receives direct editing capabilities:
GET /ocs/v2.php/apps/files/api/v1/directEditing HTTP/2.0" 200 - The iOS app successfully calls the richdocuments document API:
https://[REDACTED_DOMAIN]/ocs/v2.php/apps/richdocuments/api/v1/document, result: success(211 bytes)
What fails:
When I tap an .odt file in the official Nextcloud iOS app, instead of opening the editor, I get a Nextcloud-branded “Page not found” screen:
Page not found
The page could not be found on the server or you may not be allowed to view it.
The SWAG/nginx access log shows the iOS app tries to open a direct editing URL, but Nextcloud returns 404:
192.168.50.1 - - [10/Jun/2026:19:52:08 -0800] "GET /apps/files/directEditing/[REDACTED_DIRECT_EDIT_TOKEN] HTTP/2.0" 404 38515 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/33.0.9"
A prior attempt did the same:
192.168.50.1 - - [10/Jun/2026:19:39:43 -0800] "GET /apps/files/directEditing/[REDACTED_DIRECT_EDIT_TOKEN] HTTP/2.0" 404 38515 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/33.0.9"
Immediately after the 404, the page loads normal Nextcloud CSS/JS assets with 200 responses, which seems to explain why the app shows the polished Nextcloud “Page not found” screen instead of a raw proxy error.
Example surrounding log lines:
GET /custom_apps/deck/css/deck.css?... 200
GET /custom_apps/spreed/css/talk-search.css?... 200
GET /apps/firstrunwizard/css/firstrunwizard-style.css?... 200
GET /core/css/server.css?... 200
GET /dist/core-main.js?... 200
GET /core/img/logo/logo.svg 200
Other observations:
- During initial iOS app login,
/login/v2/poll?...returned repeated 404s, but eventually succeeded and the account was created successfully. The app then listed files and synced metadata normally. - Browser and Safari editing both work, so I don’t think the basic Collabora/WOPI/SWAG setup is broken.
- I have not changed the WOPI allow list from the AIO-generated default.
- I have not enabled “Use Canonical webroot” or “Enable access for external apps” in Nextcloud Office advanced settings.
Current SWAG proxy config:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name [REDACTED_DOMAIN];
include /config/nginx/ssl.conf;
client_max_body_size 0;
client_body_buffer_size 512k;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://[LAN_IP]:11000$request_uri;
proxy_buffering off;
proxy_request_buffering off;
proxy_hide_header Referrer-Policy;
proxy_hide_header X-Content-Type-Options;
proxy_hide_header X-Frame-Options;
proxy_hide_header X-XSS-Protection;
}
}
Question:
Is this a known issue with the official Nextcloud iOS app directEditing flow on Nextcloud 34 / richdocuments 11, or is there a server-side setting I should change? Specifically, why would the iOS app successfully get direct editing capabilities and call the richdocuments document endpoint, but then receive a 404 when opening /apps/files/directEditing/[token]?
I’m trying to determine whether this is an iOS app bug/token/session issue, a Nextcloud 34/richdocuments compatibility issue, or something about my reverse proxy headers/session handling…or something else entirely hopefully something silly and obvious I’m just not thinking about!