URI query parameters

This page is a less-formal companion to the URI specification, documenting how the officially-supported clients interpret URI parameters. Currently only the Erlang client does so.

The federation and shovel plugins specify connections to other brokers using URIs, and are implemented using the Erlang client, so they take all the parameters described here for it.

Query parameters are added to the URI in the usual way. Any parameter can be omitted. The client will pick sensible defaults when they are.

Example:

amqp://myhost?heartbeat=5&frame_max=8192

This specifies a (non-encrypted) network connection to the host myhost. The heartbeat interval is set to 5 seconds, and the maximum frame size to 8192 bytes. Other parameters are set to their default values.

Parameter name Description
cacertfile
certfile
keyfile
Paths to files to use in order to present a client-side SSL certificate to the server. Only of use for the amqps scheme.
verify
fail_if_no_peer_cert
Use to configure verification of the server's SSL certificate. See the SSL guide for details of SSL in RabbitMQ in general and specifically the Erlang client section. Only of use for the amqps scheme.
auth_mechanism SASL authentication mechanisms to consider when negotiating a mechanism with the server. This parameter can be specified multiple times, e.g. ?sasl_mechanism=plain&sasl_mechanism=amqplain, to specify multiple mechanisms.
heartbeat Heartbeat value (in seconds) to negotiate withe the server.
connection_timeout Time (in seconds) to wait while establishing a connection before giving up.
channel_max Maximum number of channels to permit on this connection.
frame_max Maximum frame size (in bytes) to permit on this connection.

SSL options can also be specified globally using the ssl_config environment key for the amqp_client application. They will be merged with the SSL parameters from the URI (the latter will take precedence).

%% Configures the maximum number of non-self-issued intermediate certificates
%% that may follow the peer certificate in a valid certification path.
%%
%% Will have effect on all plugins that use RabbitMQ Erlang client, e.g.
%% Shovel and Federation.
[
  {amqp_client, [
    {ssl_config, [
      {depth, 2}
    ]}
  ]}
].