nextcloud / richdocuments

📑 Collabora Online for Nextcloud
https://nextcloud.com/collaboraonline
355 stars 116 forks source link

Saved with error: Collabora Online should use the same protocol as the server installation. #752

Closed p-baum closed 4 years ago

p-baum commented 4 years ago

Describe the bug My reverse proxy (Traefik) takes care of SSL. When i try to put an https address in the 'URL (and Port) of Collabora Online-server' settings i get the error 'Saved with error: Collabora Online should use the same protocol as the server installation.'

  1. Why is this even being checked? I'm the admin - I choose.
  2. Is the error fatal? Cos I cant get this working!

To Reproduce Steps to reproduce the behavior:

  1. Install behind reverse proxy that handles SSL.
  2. Set nextcloud option: 'overwriteprotocol' => 'https'
  3. try it

Expected behavior it works

Client details:

Server details

Operating system:

Web server:

Database:

PHP version:

Nextcloud version: 17.01

Version of the richdocuments app

Version of Collabora Online

Logs #### Nextcloud log (data/nextcloud.log) ``` Insert your Nextcloud log here ``` #### Browser log ``` Insert your browser log here, this could for example include: a) The javascript console log b) The network log c) ... ```
p-baum commented 4 years ago

browser console is logging:

´Blocked loading mixed active content “http://mylooldomain:9980/..."´

I have entered the url with https - "saved with error"? I dont get it. Just let me force the scheme i want.

j-tai commented 4 years ago

I believe the issue here is that Collabora doesn't consider the possibility that Nextcloud is running behind a reverse proxy. It thinks it is running over HTTP and assumes that Collabora should be as well.

The workaround I am using is to run both Nextcloud and Collabora over HTTPS with a self-signed certificate, and disable certificate checking in my reverse proxy (e.g. proxy_ssl_verify off; for nginx).

juliusknorr commented 4 years ago

´Blocked loading mixed active content “http://mylooldomain:9980/..."´

If you access your nextcloud domain through ssl you should also configure collabora to be acessible though ssl. This is why the warning appears.

juliusknorr commented 4 years ago

In case the public url is not reachable from within your Nextcloud host, you can also configure a different public_wopi_url app config value.

ChrisAichinger commented 3 years ago

@juliushaertl: How do I "configure collabora to be acessible though ssl"? Specifically: I am using the official Nextcloud Docker image (20-apache, which is currently stable) and the Built-In CODE server.

juliusknorr commented 3 years ago

For setup related questions I would like to ask you to raise your question in the forums: https://help.nextcloud.com

nZeus commented 2 years ago

Hi, I see the issue is 2yo... And instead of fixing it, you just closed it... Big disappointment guys

juliusknorr commented 2 years ago

Maybe to make it more clear, this is nothing that we can even fix. Mixed protocols are blocked by browser policies, so if we would allow to configure a http collabora url with a https nextcloud, browsers would block the access.

We use GitHub for bug tracking and not setup support, that is why I asked to move over to the forum for setup and configuration related questions.

nZeus commented 2 years ago

Thank you for clarifying this 👍

winux1337 commented 2 years ago

maybe it is usefull for your problem.

description of my installation:

debian bullseye
Apache
php 8.0
nextcloud 24
behind FireWall
OpnSense
ReverseProxy based on apache with Let’s entcrypt (on Raspberry)

I had the same error “collabora should use the same protocol as the server” and solved this with the follow entry in the ReverseProxy config.

sorry, i can’t show you my config, because i am a new user and i am can post only four links ;(

i found this in (document-server-proxy/proxy-https-to-http.conf at master · ONLYOFFICE/document-server-proxy · GitHub) line 40 - 47

Best regards Winux

I posted this in the nextcloud community too: https://help.nextcloud.com/t/error-collabora-online-should-use-the-same-protocol-as-the-server-installation/45639/15

juliusknorr commented 2 years ago

Anyone having this issue may want to check the ssl.enable and ssl.termination configuration inside of the coolwsd.xml file.

Detailed documentation is available at: https://sdk.collaboraonline.com/docs/installation/Configuration.html#ssl-configuration

A small improvement on the error reporting within richdocuments is pushed with https://github.com/nextcloud/richdocuments/pull/2371

albjeremias commented 2 years ago

This error was not happening in previous versions of nextcloud docker images. So I want to try to understand better whats is going on... can we automate it using docker? to change the coolswd.xml file?

I can try to troubleshoot and provide a solution to github.. its anoying im behind a reverse proxy using docker-compose ...

image

so whatever option i setup.. it stays well configured... but it seems it won't save to somewhere..

image

{"wopi_url":"https://domain/custom_apps/richdocumentscode/proxy.php?req=","disable_certificate_verification":false}

response:

{"status":"success","data":{"message":"Saved with error: Collabora Online should use the same protocol as the server installation."}}

image

{"wopi_url":"https://demo.eu.collaboraonline.com","disable_certificate_verification":false}

response:

{"status":"success","data":{"message":"Saved with error: Collabora Online should use the same protocol as the server installation."}}

the problem is in the request: https://domain/index.php/apps/richdocuments/ajax/admin.php

I commented this code for now..: https://github.com/nextcloud/richdocuments/blob/20536d85274090463d6b1652d626df7e27613dd7/lib/Controller/SettingsController.php#L204

and now i get this error on loading the file: image so why is the request sent by http?!

If in the settings everything went fine after commenting those lines.. headers:

{"wopi_url":"https://domain/custom_apps/richdocumentscode/proxy.php?req=","disable_certificate_verification":false}

response:

https://domain/custom_apps/richdocumentscode/proxy.php?req=‹