What is GuzzleHttp exception - 404 not found?

Hey Guys,

I’ve loolwsd set up and working (or it seems like it), but when I actually click the document file I wish to edit, I get an internal server error with the following error message:
GuzzleHttp\Exception\ClientException:
Client error response [url] https://code.mycompany.com/hosting/discovery [status code] 404 [reason phrase] Not Found

What should I test and how? Or do you know a fix solution?

Using CentOS 7, NginX, without docker

Hi Imre,

The typical installation is that collabora runs a server at port 9980 and nginx runs as a reverse proxy for a virtual host (typically port 443 for SSL). If you have a GUI and a web browser (or use wget) you could try checking XXXXs://127.0.0.1:9980/hosting/discovery. Test nginx using XXXXs://myvirtualhost/hosting/discovery. You should see XML data.

(I had to change http to XXXX because the forum software thinks I am posting links.)

I can only talk about docker but maybe some of it applies for your non-docker configuration. The docker instructions usually start using 127.0.0.1. If you use this interface, the connection is only possible on the local computer, and perhaps just for IPV4. You might also try changing XXXXs://localhost:9980 to XXXXs://127.0.0.1:9980 in your nginx configuration file (assuming nginx is on the same system). This is because localhost can also be IPV6. If your non-docker server is on a separate system, you cannot use 127.0.0.1 and you might also check if name resolution is working correctly (can you ping?).

I don’t have everything working yet myself. There is also a token problem. Apparently the nginx rule “location ^~ /lool” should be changed to “location ~ ^/lool”, except that I was already using that so I must have another problem.

Another hint for people using docker is that you probably need to use an additional parameter “–add-host nextcloud.myhost.mydomain:127.0.0.1” because the docker image has an independent /etc/hosts file so when docker talks to nextcloud it knows where to find it. Actually maybe I should have used a real IP address because docker is supposed to use bridge networking unless you specify --net=host. OK, something else to try.

I hope that this helps. There are several other things I have discovered (problems with curl, certificates and other things) and I originally planned to write a much longer post. But these are not pertinent to your current problem. Corrections to anything I have said are warmly accepted.

Hy, Sorry for the late reply, I was sort of away.

I’ve tested with curl https://ds.bitandpixel.hu/hosting/discovery but I receive the following:
>

<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.12.1</center>
</body>
</html>

I know that NginX is supposed to be a proxy in this situation and it forwards everything to the 9980 port. However, I think loolwsd is not configured properly since I get a Bad Gateway error message. Do I need PHP to make this work? This was not written in any of the installation guides.

Hi Imre,

I’ve only been using nginx since May, but it seems to me that the bad gateway usually happens when nginx tries to get web pages from another server (in this case, the original colabora/docker/office server at port 9980) but the server is not running. This is why you should see if you can get the “/hosting/discovery” directly at port 9980 instead of trying to go through nginx as a proxy.

If you can’t get it directly, then it may be that nginx can’t get it either. Of course, you need PHP for nextcloud. But the nginx virtual server that acts as a proxy for colabora is just passing data so PHP is not used for that.

I don’t really know what your level of expertise is, but if you tell the colabora server to listen on port 127.0.0.1 it will only be accessible on that computer. If you use 0.0.0.0 it should be available from other computers assuming there is no firewall problem.

What happens if you curl https://ds.bitandpixel.hu:9980/hosting/discovery instead? Do you have ssh access to the computer ds.bitandpixel.hu? Can you curl with 127.0.0.1 on that computer at port 9980?