After you download and install RabbitMQ on all hosts in your environment, you must configure the primary RabbitMQ server.

Procedure

  1. Create directories.
    cd /etc/rabbitmq;
    mkdir testca server client

  2. Create the /etc/rabbitmq/rabbitmq.config file with the following content.

    [{ssl, [{versions, [tlsv1, 'tlsv1.2', 'tlsv1.1']},
             {ciphers,  ["ECDHE-ECDSA-AES256-GCM-SHA384","ECDHE-RSA-AES256-GCM-SHA384",
     "ECDHE-ECDSA-AES256-SHA384","ECDHE-RSA-AES256-SHA384",
     "ECDH-ECDSA-AES256-GCM-SHA384","ECDH-RSA-AES256-GCM-SHA384",
     "ECDH-ECDSA-AES256-SHA384","ECDH-RSA-AES256-SHA384",
     "DHE-RSA-AES256-GCM-SHA384","DHE-DSS-AES256-GCM-SHA384",
     "DHE-RSA-AES256-SHA256","DHE-DSS-AES256-SHA256","AES256-GCM-SHA384",
     "AES256-SHA256","ECDHE-ECDSA-AES128-GCM-SHA256",
     "ECDHE-RSA-AES128-GCM-SHA256","ECDHE-ECDSA-AES128-SHA256",
     "ECDHE-RSA-AES128-SHA256","ECDH-ECDSA-AES128-GCM-SHA256",
     "ECDH-RSA-AES128-GCM-SHA256","ECDH-ECDSA-AES128-SHA256",
     "ECDH-RSA-AES128-SHA256","DHE-RSA-AES128-GCM-SHA256",
     "DHE-DSS-AES128-GCM-SHA256","DHE-RSA-AES128-SHA256","DHE-DSS-AES128-SHA256",
     "AES128-GCM-SHA256","AES128-SHA256","ECDHE-ECDSA-AES256-SHA",
     "ECDHE-RSA-AES256-SHA","DHE-RSA-AES256-SHA","DHE-DSS-AES256-SHA",
     "ECDH-ECDSA-AES256-SHA","ECDH-RSA-AES256-SHA","AES256-SHA",
     "ECDHE-ECDSA-DES-CBC3-SHA","ECDHE-RSA-DES-CBC3-SHA","EDH-RSA-DES-CBC3-SHA",
     "EDH-DSS-DES-CBC3-SHA","ECDH-ECDSA-DES-CBC3-SHA","ECDH-RSA-DES-CBC3-SHA",
     "DES-CBC3-SHA","ECDHE-ECDSA-AES128-SHA","ECDHE-RSA-AES128-SHA",
     "DHE-RSA-AES128-SHA","DHE-DSS-AES128-SHA","ECDH-ECDSA-AES128-SHA",
     "ECDH-RSA-AES128-SHA","AES128-SHA","EDH-RSA-DES-CBC-SHA","DES-CBC-SHA"]}]},
      {rabbit, [
         {ssl_listeners, [5671]},
         {ssl_options, [{cacertfile,"/etc/rabbitmq/testca/cacert.pem"},
                        {certfile,"/etc/rabbitmq/server/cert.pem"},
                        {keyfile,"/etc/rabbitmq/server/key.pem"},
                        {versions, [tlsv1, 'tlsv1.2', 'tlsv1.1']},
                        {verify, verify_peer},
                        {padding_check, true},
                        {ciphers,  ["ECDHE-ECDSA-AES256-GCM-SHA384","ECDHE-RSA-AES256-GCM-SHA384",
     "ECDHE-ECDSA-AES256-SHA384","ECDHE-RSA-AES256-SHA384",
     "ECDH-ECDSA-AES256-GCM-SHA384","ECDH-RSA-AES256-GCM-SHA384",
     "ECDH-ECDSA-AES256-SHA384","ECDH-RSA-AES256-SHA384",
     "DHE-RSA-AES256-GCM-SHA384","DHE-DSS-AES256-GCM-SHA384",
     "DHE-RSA-AES256-SHA256","DHE-DSS-AES256-SHA256","AES256-GCM-SHA384",
     "AES256-SHA256","ECDHE-ECDSA-AES128-GCM-SHA256",
     "ECDHE-RSA-AES128-GCM-SHA256","ECDHE-ECDSA-AES128-SHA256",
     "ECDHE-RSA-AES128-SHA256","ECDH-ECDSA-AES128-GCM-SHA256",
     "ECDH-RSA-AES128-GCM-SHA256","ECDH-ECDSA-AES128-SHA256",
     "ECDH-RSA-AES128-SHA256","DHE-RSA-AES128-GCM-SHA256",
     "DHE-DSS-AES128-GCM-SHA256","DHE-RSA-AES128-SHA256","DHE-DSS-AES128-SHA256",
     "AES128-GCM-SHA256","AES128-SHA256","ECDHE-ECDSA-AES256-SHA",
     "ECDHE-RSA-AES256-SHA","DHE-RSA-AES256-SHA","DHE-DSS-AES256-SHA",
     "ECDH-ECDSA-AES256-SHA","ECDH-RSA-AES256-SHA","AES256-SHA",
     "ECDHE-ECDSA-DES-CBC3-SHA","ECDHE-RSA-DES-CBC3-SHA","EDH-RSA-DES-CBC3-SHA",
     "EDH-DSS-DES-CBC3-SHA","ECDH-ECDSA-DES-CBC3-SHA","ECDH-RSA-DES-CBC3-SHA",
     "DES-CBC3-SHA","ECDHE-ECDSA-AES128-SHA","ECDHE-RSA-AES128-SHA",
     "DHE-RSA-AES128-SHA","DHE-DSS-AES128-SHA","ECDH-ECDSA-AES128-SHA",
     "ECDH-RSA-AES128-SHA","AES128-SHA","EDH-RSA-DES-CBC-SHA","DES-CBC-SHA"]},
                        {fail_if_no_peer_cert,false}]}
       ]}
    ].

    To configure RabbitMQ to listen on both SSL and non-SSL ports, add the {tcp_listeners, [5672]} line in the /etc/rabbitmq/rabbitmq.config file:

      ...
      {rabbit, [
         {tcp_listeners, [5672]},
         {ssl_listeners, [5671]},
         			...].

  3. Start the RabbitMQ service.
    # service rabbitmq-server start
    
  4. Enable RabbitMQ UI on http://server-name:15672/.

    # rabbitmq-plugins enable rabbitmq_management

  5. Create admin user with password vmware and set the user permissions.
    # rabbitmqctl add_user admin vmware
    # rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
    # rabbitmqctl set_user_tags admin administrator