Skip to content

Wrong public WOPI url: Ignored user configuration and used wrong detection #4650

Description

@recolic

[RCA has been located, see bottom]

Describe the bug
As a noob, I'm trying to set a fresh new Nextcloud-Office server. I installed RichDocuments and RichDocumentsCode app, went to admin dashboard to set online server URL.

I click save, it works. But I refresh the page, it send /discovery query to wrong URL, and received mixed-content error.

To Reproduce
Steps to reproduce the behavior:

  1. Install RichDocuments and RichDocumentsCode app
  2. Go to admin dashboard, locate server URL, click save
  3. Looks like it works
  4. Click refresh, it's broken (F12 shows it's sending discovery to completely wrong URL)

Expected behavior
It should just works.

Screenshots

I click save, it looks good:
Image

I refresh the page, it still use bad URL:
Image

Client details:

  • OS: Any OS
  • Browser : Any Browser
  • Version [e.g. 22]
  • Device: Desktop

Server details

Operating system: Ubuntu 2204 running Nextcloud Docker nextcloud:29.0.10

Web server: Docker nextcloud:29.0.10 built-in

Database: sqlite

PHP version: Docker nextcloud:29.0.10 built-in

Nextcloud version: Docker nextcloud:29.0.10 built-in

Version of the richdocuments app

Version of Collabora Online

Configuration of the richdocuments app

root@drive-git-server /s/nextcloud# docker exec -u 33 -ti rdrive ./occ config:list richdocuments
{
    "apps": {
        "richdocuments": {
            "installed_version": "8.4.11",
            "enabled": "yes",
            "types": "prevent_group_restriction",
            "wopi_url": "https:\/\/drive.recolic.cc\/custom_apps\/richdocumentscode\/proxy.php?req=",
            "disable_certificate_verification": "yes",
            "wopi_allowlist": "",
            "public_wopi_url": "http:\/\/drive.recolic.cc",
            "wopi_callback_url": ""
        }
    }
}

Image

RCA

I can easily tell what's going wrong: The web dashboard doesn't set public_wopi_url. It only set wopi_url which is not used at all.

  1. Could someone help fix the frontend admin UI, to make sure public_wopi_url also got updated correctly?
  2. Could someone help update this guide ( https://github.com/nextcloud/richdocuments/blob/main/docs/install.md#configure-the-app-from-the-commandline ), to mention updating public_wopi_url ?

Let's make it easy for other noobs. Thanks!!

Update Apr 13: Renamed: Wrong public WOPI url: Ignored user configuration and used wrong detection

Looks like it's not as simple as a configuration issue. See discussion below.

It ignored user configuration, ignored any explicit URL config, but using its own unreliable "detected" URL, which caused many many errors behind reverse proxy + https.

Context: How I deploy nextcloud

I did docker run ... -p 3083:80 -v ... nextcloud, with nginx reverse proxy like this:

    server {
        listen       [::]:443 ssl http2;
        listen       443 ssl http2;
        server_name  drive.recolic.net drive.recolic.cc;
        ssl_certificate ...;
        location / {
                proxy_pass http://127.0.0.1:3083;

                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header X-Forwarded-Proto $scheme;

                proxy_set_header X-Scheme $scheme;

                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                add_header Front-End-Https on;
        }

Apr 23 Update: this issue has been fixed by adjusting nginx configuration

See discussion below.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions