Closed toddgardner closed 4 years ago
This is the only related issue I could find https://github.com/rabbitmq/rabbitmq-website/issues/841
As explained in https://github.com/rabbitmq/rabbitmq-website/issues/841, our guess is that this image produces an incorrect config file with a certain combination of environment variables. RABBITMQ_DEFAULT_USER
and RABBITMQ_DEFAULT_PASS
are variables used only by this image, not RabbitMQ itself, and there are no reasons to configure those values via environment variables.
Use the config file.
On an unrelated notes, this snippet
loopback_users.guest = false
suggests this is a production environment yet remote access for user guest
is enabled. This is a terrible idea. Yes, if you override default user credentials technically it does not matter but to me it suggests that an example is being taken into production without a review.
Hmm, I'm unable to replicate the incident. Rolling forward and repeatedly restarting workers on a staging environment, I can't get the problem to repeat. Yeesh.
@michaelklishin I have thoroughly reviewed my setup and I'm familiar with the security implications; as you have said, it doesn't matter and adding a layer of user management to my rabbit set up just to make people who read the config feel better does not increase my security posture and creates management headaches; with my current setup, I can wipe and recreate the cluster with no effect (other than delayed processing) on my production systems.
Similarly, using the config file over the environment variable sticks me with either embedding secrets where the don't belong or rewriting https://github.com/docker-library/rabbitmq/blob/master/docker-entrypoint.sh to get the same guarantees, and there's no reason to suspect my version of docker-entrypoint.sh would be free of the same problem.
I ran into this issue today and it seems the rabbitmq website does not like following lines of the generated config file.
management.listener.port = 15672
management.listener.ssl = false
After removing these lines everything was fine.
@wglambert this issue likely has nothing to do with the image at this point. We have introduced different management.*
listener settings (the original ones haven't been removed) in 3.7.x
and gradually updated the docs to use them. They match regular TCP listener syntax closer and allow for dual HTTP/HTTPS configurations. There is a good chance that some users try to use newer settings with older images. This is not something image-specific.
I had my rabbit pinned at 3.17, and when 3.17.19 rolled out (on server restart) the workers started crashing the log messages below.
This is similar to https://github.com/docker-library/rabbitmq/issues/367#issuecomment-530999422 but I don't use those particular options; I'm not clear yet which ones could be causing an issue.
rabbitmq.conf
and setting env vars: