Check_MK and Apache Reverse Proxy

Hello everyone,

I have a small home server behind my Fritzbox on which various applications run as Docker images. To reach them from the Internet, I set up Apache subdomains, got a LetsEncrypt Cert for each of them and use the Apache Reverse Proxy function to securely forward requests from the Internet via https. Everything works and has been problem-free for many months.

Now I want to monitor this server with OMD (Check_MK). The installation works locally without any problems, I set up an OMD domain and allow access via the URL http://127.0.0.1:5000/meinOMD/
to. Works locally without problems. Now to the reverse proxy for the configuration. Setting up the subdomain, certificate, redirection for http to https - all no rocket science thanks to the Debian packages.

It starts with the configuration of the reverse proxy and I can’t do it. It currently looks like this (only the relevant lines …)

SSL ProxyEngine On
ProxyPassMatch (. *) (\ / Websocket) $ “ws: //127.0.0.1: 5000 / meinOMD / $ 1 $ 2”
ProxyPass / “http://127.0.0.1:5000/meinOMD/
ProxyPassReverse / “http://127.0.0.1:5000/meinOMD/

I got myself together from my other configurations …

Now I call the instance from the Internet with https: //omdsubdomian.FQDN and - as I expected - I also get the user / password query for OMD. If I have entered this then I will not be forwarded to the start page but it will appear

https: //omdsubdomain.FQDN/check_mk/logi … t = index.py

Not Found
The requested URL was not found on this server.

At this point I am not able to get any information from the Apache debug log. What can be wrong here?

perhaps take a look here:

https://checkmk.de/cms_introduction_docker.html

Greets Bernd

Sometimes it’s pretty easy …
The solution is to set the proxy directives directly on the IP address of the Docker container

So for example …

Server name checkmk.My-FQDN

ProxyAddHeaders Off
ProxyPreserveHost On

ProxyPassMatch (. *) (\ / Websocket) $ “ws: // <IP-Check_MK-Docker-Container>: 5000 / cmk / check_mk / $ 1”
ProxyPass “/” “http: // <IP-Check_MK-Docker-Container>: 5000 /”
ProxyPassReverse “/” “http: // <IP-Check_MK-Docker-Container>: 5000 /”

… and it works!