The user venizia03 reports that their Discourse instance is inaccessible due to a Redis connection error (Errno::ENETUNREACH) and iptables warnings related to Docker. Despite attempts to fix the issue through server reboots, Docker updates, and stopping firewalld, the problem persists. pfaffman suggests the issue may stem from Docker networking being broken, possibly due to firewalld. After further troubleshooting, venizia03 discovers that adding RemoteIPHeader X-Forwarded-For to the Apache configuration resolves the access issue, and the Redis error only appears during container shutdown, indicating it may be benign. The user concludes that switching from firewalld to iptables might be necessary. csmu confirms that restarting Docker resolved their similar issue, suggesting a potential fix for network-related problems.
It suggests to me that docker networking is broken, so even if Discourse and redis are working properly, Discourse cannot access redis because networking and/or docker are broken.
My guess is that these problems appeared sometime after you installed firewalld. and that’s what broke your installation.
I have done some progress. my config is using apache 2.4 as proxy. In my config, I have added the following:
RemoteIPHeader X-Forwarded-For
To keep track of the original IP address.
After httpd restart, I was able to access the discourse (with an alert about the ssl certificate expiration). I have fixed that one too and now everything is working well but with firewalld disabled.
I have found many posts about issues between docker and firewalld on centos 7. I will so switch back to iptables.
About the redis error message, after the above steps, this one only appears when docker is stopping. At restart, it’s not displayed so I would think this is ok.
Thx!
csmu
(Keith John Hutchison - Ceiteach Seán Mac Úistin)
7
After reading this I stopped Docker on our Centos server