External Web Interface not connecting with Nginx Proxy Manager in Docker

External Web Interface not connecting with Nginx Proxy Manager in Docker

I have a VPN with Nginx Proxy Manager pointing subdomains to several services to a server that I have at home which is running Portainer. For example, nagios.domain.com reveals the Nagios service on that domain, including SSL from Let’s Encrypt.

I’m having some trouble getting Graylog to work in this fashion externally. The web interface works beautifully internally.

I’ve used example from the Docker Persisting Data docker-compose.yml (Docker — Graylog 4.0.0 documentation). I changed GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/ to GRAYLOG_HTTP_EXTERNAL_URI=http://192.168.1.83:9000/ and it works. But if I change this to GRAYLOG_HTTP_EXTERNAL_URI=https://graylog.domain.com:9000/ it doesn’t work.

I’ve been able to get the following work internally, but no luck internally:
Example 1:
- GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000

Example 2:
- GRAYLOG_HTTP_EXTERNAL_URI=http://192.168.1.83:9000/

Example 3:
- GRAYLOG_HTTP_PUBLISH_URI=http://192.168.1.83:9000/
- GRAYLOG_HTTP_EXTERNAL_URI:https://graylog.domain.com:9000

When I turn off the Let’s Encrypt SSL in Nginx Proxy Manager, I end up getting the generic Apache default page on http://graylog.domain.com.

So I’m a little confused on where to go from here.

Hello, I wanted to follow up on this. Anyone know anything?

Hello @cinemafunk,

You say when you set GRAYLOG_HTTP_EXTERNAL_URI=http://192.168.1.83:9000/ it works. But, when you set GRAYLOG_HTTP_EXTERNAL_URI=https://graylog.domain.com:9000/ it doesn’t work. Can you expand more on what you mean?

Also, are there any errors in your server.log in the non-working configuration?

What version of graylog-server are you running?

I’ve been able to get somewhere.

This is Graylog 4.0 (graylog/graylog:4.0 docker container)

I made the following changes to my docker compose file:
- GRAYLOG_HTTP_EXTERNAL_URI=http://192.168.1.XX:9000/
- GRAYLOG_HTTP_ENABLE_CORS=TRUE
- GRAYLOG_WEB_ENDPOINT_URI=https://graylog.domain.com:9000/graylog/api
- HTTP_ENABLE_TLS=TRUE

I’m now able to see the interface on http://graylog.domain.com and log in. However, https://graylog.domain.com shows a blank page. The source reveals my internal server’s IP address all coming from an http protocol.

The SSL certs are from Let’s Encrypt which is on the VPN’s server and is a provisioned by Nginx Proxy Manager. I’m thinking I need to have these certificates in the actual Docker container. Am I getting close?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.