dockerssldocker-composerabbitmqdocker-volume

RabbitMQ error: "ssl_options.keyfile invalid, file does not exist or cannot be read by the node"


I'm trying to add SSL to a RabbitMQ deployment via Docker Compose:

# rabbitmq.conf

ssl_options.certfile     = /container/path/to/certfile.crt
ssl_options.keyfile      = /container/path/to/keyfile.key
# docker-compose.yml

rabbitmq:
  image: rabbitmq:3.10.7-management
  ...
  volumes:
    - /host/path/to/certfile.crt:/container/path/to/certfile.crt
    - /host/path/to/keyfile.crt:/container/path/to/keyfile.key
    - ...
  ...

However, when spinning up the container, I get the error:

ssl_options.keyfile invalid, file does not exist or cannot be read by the node

I have double checked that the volume mounting is working, and that the keyfile is actually there.


Solution

  • Turned out to be a permissions issue. Solved by running in the host machine:

    chmod 664 /host/path/to/certfile.crt
    chmod 664 /host/path/to/keyfile.crt
    

    It might be required to change the permissions of the directory containing the files:

    chmod 755 /host/path/to