Collabora with Apache2 backend and Nginx Reverse Proxy?

Hi,

As I understand, both of your reverse proxies are showing to the same destination.
I think you want to refer the nginx proxy to the apache proxy?
So you just need to refer the nginx proxy to 192.168.4.111:443 (apache) because the apache does the collabora thing.
I am curios if a double proxy works with collabora :slight_smile:

Did you get this working? Is your Collabora/Code a docker image and the Apache running within the Docker?

I am using only apache and using plain old iptables to forward the ports from the external uo to the apache instance back.
So the documentation at the frontpage works in my case.
No the apache is not running inside a dockerimage, only collabora is in one.

@dev0 @Tyler_Collins

In a “normal” situation I run all my VMs in Apache as backends on port 80, and Nginx handles all the SSL requests. In this case both Apache and Nginx must handle SSL as Collabora requires SSL to work properly.

So, What I’m trying to do here is to do a Proxy configuration in Apache and let the Nginx Proxy just forward the traffic from WAN.

I’m not an expert on this, but I got Spreed.ME working when doing like this, and I run a reverse Proxy in Apache on Spreed.ME as well…

Any concrete suggestions on what to do here? Personally I think Collabora is loosing a lot of customers if this isn’t possible.

What do you mean by this? How should a config look like?

And btw, this is how my config looks like: Collabora Online 1.8 with LO 5.1 and new features

if you have all the ssl-work done, a simple

proxy_pass https://192.168.4.111:443;

from the nginx to the apache should do the job. But such a setup is really uncommon.
In that case I don’t think that the collabora guys thought that far. They are working mainly at the docker part of it.

You mean like I did here: proxy_pass https://$upstream;?

Kind of, because you split up the collabora urls in your nginx config which is not required, as your apache already doing that. Afaik you just need to do one proxy_pass with https to your upstream and thats it.

@dev0 Tried that but it doesn’t work… :confused: Hence this post.

I get this: https://office.techandme.se/

Though this works: https://office.techandme.se/hosting/discovery hmmm

collabora work for me since I run the command.

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.nextcloud\\.com' -e 'username=admin' -e 'password=123456' --restart always --cap-add MKNOD collabora/code

note: run docker container with an user.

@Lars_M Thanks, but are you running it behind a Nginx Reverse Proxy?

yes. it´s behind an Reverse Proxy

Ok, so just to be clear, you have one Apache backend with a Reverse Proxy to localhost, and one Ngnix Reverse Proxy in front of the Apache Reverse Proxy?

no one apache server and one Nginx Reverse Proxy Server.

@Lars_M Interesting, so when you say that you run docker with a user, do you mean a user in Ubuntu or in Nextcloud?

This Container runs with an Ubuntu User.

Look here: https://www.collaboraoffice.com/community-news/code-2-0-updates/

i quote the part:

Updates

Inclusion of Google Noto font family, which aims to support all languages with a harmonious look and feel.
Fixed localization of the menu bar
Improved Writer’s Format menu, including page size and orientation.
New startup options for CODE (requested by user at 103724 – CODE docker image: Provide docker config parameter for admin).

-e 'username=admin' -e 'password=123456'

in docker command line set the username and password environment variables in container, which will be used by the start-libreoffice.sh script and it sets the username and password for the admin console.

Still doesn’t work… :confused:

I added a user to the system, then I set to use that user when starting the docker image, but no luck.

Anyone that could help me? I would pay for a working setup!

These parameters are needed for the admin console of CODE and they are optional. So it will not help at all, if you cannot connect to CODE.

To say something positive, we have discovered a potential problem with URL encoding and decoding, which in certain circumstances lead to connection error. Next version of CODE will contain the fix for this, and probably we will have to update integration instructions. If it won’t help @enoch85. then we need to investigate further by setting up Apache2 backend and Nginx Reverse Proxy ourselves, in a test environment.

p.s.: I work for Collabora

2 Likes