[ %% ---------------------------------------------------------------------------- %% RabbitMQ Sample Configuration File. %% %% See http://www.rabbitmq.com/configure.html for details. %% ---------------------------------------------------------------------------- {rabbit, [%% %% Network Connectivity %% %% Configure AMQP to listen on specific ports. %% {tcp_listeners, [5672, 5673]}, %% Socket options. %% %% See (http://www.erlang.org/doc/man/inet.html#setopts-2) for %% further documentation. %% %% {tcp_listen_options, [binary, %% {packet, raw}, %% {reuseaddr, true}, %% {backlog, 128}, %% {nodelay, true}, %% {exit_on_close, false}]}, %% Configure SSL to listen on specific ports. %% {ssl_listeners, [5674, 5675]}, %% SSL options (see http://www.rabbitmq.com/ssl.html). %% {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"}, %% {certfile,"/path/to/server/cert.pem"}, %% {keyfile,"/path/to/server/key.pem"}, %% {verify, verify_peer}, %% {fail_if_no_peer_cert, true}]}, %% Set the max permissible size of an AMQP frame (in bytes). %% {frame_max, 131072}, %% Set the default AMQP heartbeat delay (in seconds). %% {heartbeat, 600}, %% Set the level for connection logging. %% {log_levels, [{connection, info}]}, %% %% Security/AAA & Default VHost/User %% %% Set available auth mechanisms. %% {auth_mechanisms, ['PLAIN', 'AMQPLAIN']}, %% To enable auth-mechanism-ssl, add or replace the above with %% {auth_mechanisms, ['EXTERNAL']}, %% Set the authentication database to use. %% {auth_backends, [rabbit_auth_backend_internal]}, %% Or to enable the LDAP backend. %% {auth_backends, [rabbit_auth_backend_ldap]}, %% Virtual host to create on first start. %% {default_vhost, <<"/">>}, %% User name to create on first start. %% {default_user, <<"guest">>}, %% Password for the default user. %% {default_pass, <<"guest">>}, %% Tags for default user. %% {default_user_tags, [administrator]}, %% Set up access control (permissions) for the default user. %% See http://www.rabbitmq.com/access-control.html for more details. %% {default_permissions, [<<".*">>, <<".*">>, <<".*">>]}, %% %% Resource Limits & Flow Control. %% %% See http://www.rabbitmq.com/memory.html for more details. %% %% Memory-based Flow Control threshold. %% {vm_memory_high_watermark, 0.4}, %% Set disk free limit (in bytes). %% {disk_free_limit, 1000000000}, %% Alternatively, set disk free limit relative to total RAM. %% {disk_free_limit, {mem_relative, 1.0}}, %% Override the file handle limit. %% {file_handles_high_watermark, 10000000}, %% %% Misc/Advanced Options: %% %% NB: Change these only if you understand what you are doing! %% %% How to respond to cluster partitions. %% See http://www.rabbitmq.com/partitions.html for further details. %% %% {cluster_partition_handling, ignore}, %% Make clustering happen *automatically* at startup. %% See http://www.rabbitmq.com/clustering.html for further details. %% %% {cluster_nodes, {['rabbit@my.host.com'], disc}}, %% Set (internal) statistics collection granularity. %% {collect_statistics, none}, %% Statistics collection interval (in milliseconds). %% {collect_statistics_interval, 5000}, %% Explicitly enable/disable hipe compilation. %% {hipe_compile, true}, ]}, %% ---------------------------------------------------------------------------- %% RabbiMQ Management Plugin %% %% See http://www.rabbitmq.com/management.html for details %% ---------------------------------------------------------------------------- {rabbitmq_management, [%% Pre-Load schema definitions from the following JSON file. %% {load_definitions, "/path/to/schema.json"}, %% Log HTTP requests to a file. %% {http_log_dir, "/path/to/access.log"}, %% Change the port on which the HTTP listener listens, %% specifying an interface for the web server to bind to. %% Also set the listener to use SSL. %% %% {listener, [{port, 12345}, %% {ip, "127.0.0.1"}, %% {ssl, true}, %% {ssl_opts, [{cacertfile, "/path/to/cacert.pem"}, %% {certfile, "/path/to/cert.pem"}, %% {keyfile, "/path/to/key.pem"}]}]}, ]}, {rabbitmq_management_agent, [%% Force fine-grained statistics. %% {force_fine_statistics, true} ]}, %% ---------------------------------------------------------------------------- %% RabbiMQ Shovel Plugin %% %% See http://www.rabbitmq.com/shovel.html for details %% ---------------------------------------------------------------------------- {rabbitmq_shovel, [{shovels, [%% A named shovel worker. %% {my_first_shovel, %% [ %% List the source broker(s) from which to consume. %% {sources, %% [%% URI(s) and pre-declarations for all source broker(s). %% {brokers, ["amqp://user:password@host.domain/my_vhost"]}, %% {declarations, []} %% ]}, %% List the destination broker(s) to publish to. %% {destinations, %% [%% A singular version of the 'brokers' element. %% {broker, "amqp://"}, %% {declarations, []} %% ]}, %% Name of the queue to shovel messages from. %% {queue, <<>>}, %% Optional prefetch count. %% {prefetch_count, 10}, %% when to acknowledge messages: %% - no_ack: never (auto) %% - on_publish: after each message is republished %% - on_confirm: when the destination broker confirms receipt %% {ack_mode, on_confirm}, %% Static list of basic.properties to set on re-publication. %% {publish_properties, [{delivery_mode, 2}]}, %% Overwrite fields of the outbound basic.publish. %% {publish_fields, []}, %% The number of seconds to wait before attempting to %% reconnect in the event of a connection failure. %% {reconnect_delay, 2.5} ]} ]}, %% ---------------------------------------------------------------------------- %% RabbiMQ Stomp Adapter %% %% See http://www.rabbitmq.com/stomp.html for details %% ---------------------------------------------------------------------------- {rabbitmq_stomp, [%% Listen only on localhost (ipv4 & ipv6) on a specific port. %% {tcp_listeners, [{"127.0.0.1", 61612}, %% {"::1", 61612}]}, %% Listen for SSL connections on a specific port. %% {ssl_listeners, [61613]}, %% Extract name from client certificate when using SSL. %% {ssl_cert_login, true}, %% Use cn instead of dn when reading from the SSL cert. %% {ssl_cert_login_from, common_name}, %% Set a default user name and password. %% {default_user, [{login, "guest"}, %% {passcode, "guest"}]} ]}, %% ---------------------------------------------------------------------------- %% RabbiMQ MQTT Adapter %% %% See http://hg.rabbitmq.com/rabbitmq-mqtt/file/stable/README.md for details %% ---------------------------------------------------------------------------- {rabbitmq_mqtt, [%% Set the default user name and password. %% {default_user, <<"guest">>}, %% {default_pass, <<"guest">>}, %% Enable anonymous access. %% {allow_anonymous, true}, %% Specify the vhost to which the adapter connects. %% {vhost, <<"/">>}, %% Specify the exchange to which messages from MQTT clients are published. %% {exchange, <<"amq.topic">>}, %% Specify TTL (time to live) to control the lifetime of non-clean sessions. %% {subscription_ttl, 1800000}, %% Set the prefetch count (governing the maximum number of unacknowledged %% messages that will be delivered). %% {prefetch, 10}, %% TCP/SSL Configuration (as per the broker configuration) %% {ssl_listeners, []}, %% {tcp_listeners, [1883]}, %% TCP/Socket options (as per the broker configuration). %% {tcp_listen_options, [binary, %% {packet, raw}, %% {reuseaddr, true}, %% {backlog, 128}, %% {nodelay, true}]} ]}, %% ---------------------------------------------------------------------------- %% RabbiMQ AMQP 1.0 Support %% %% See http://hg.rabbitmq.com/rabbitmq-amqp1.0/file/default/README.md %% for details %% ---------------------------------------------------------------------------- {rabbitmq_amqp1_0, [%% Set the default user. %% {default_user, "guest"}, %% Enable protocol strict mode. See the README for more information. %% {protocol_strict_mode, false} ]}, %% ---------------------------------------------------------------------------- %% RabbitMQ LDAP Plugin %% %% See http://www.rabbitmq.com/ldap.html for details. %% %% ---------------------------------------------------------------------------- {rabbitmq_auth_backend_ldap, [%% Specify server's to bind to. You *must* set this in order for the plugin %% to work properly. {servers, ["your-server-name-goes-here"]} %% Set user DN pattern. %% {user_dn_pattern, "cn=${username},ou=People,dc=example,dc=com"}, %% Enable SSL. %% {use_ssl, false}, %% Specify the LDAP port. %% {port, 389}, %% Enable logging of LDAP queries. %% {log, false}, %% Set the query to use when determining vhost access. %% {vhost_access_query, {in_group %% "ou=${vhost}-users,ou=vhosts,dc=example,dc=com"}}, %% Set the query to use when determining resource (e.g., queue) access. %% {resource_access_query, {constant, true}}, %% Set queries to determine which tags a user has. %% See https://www.rabbitmq.com/management.html#permissions for a detailed %% explanation of tags/permissions. %% {tag_queries, []} ]} ].