<div dir="ltr">Hi,<div><br></div><div>We use Active Directory as an LDAP auth backen for Rabbitmq.</div><div><br></div><div>We have 3 AD servers, and alle 3 are configured in RabbitMQ. But if we shutdown one of them, we are no longer able to access RabbitMQ using an LDAP account.</div><div>I get the login promt, om the management site(http://host:15672), but if i use a LDAP account, the site is not responding.</div><div><br></div><div>Why is the LDAP module not robust againt unavailable LDAP backens? - could you intruduce a sort of healtcheck?</div><div><br></div><div>RabbitMQ 3.2.3, Erlang R15B01</div><div><br></div><div>rabbitmq.config</div><div><div title="Hint: double-click to select code" class="container"><div class="line number1 index0 alt2"><code class="bash plain">[</code></div><div class="line number2 index1 alt1"><code class="bash plain">  {rabbit, [{auth_backends, [rabbit_auth_backend_ldap, rabbit_auth_backend_internal]}]},</code></div><div class="line number3 index2 alt2"><code class="bash plain">  {rabbitmq_auth_backend_ldap,</code></div><div class="line number4 index3 alt1"><code class="bash plain">   [ {servers,               [</code><code class="bash string">"devopsad01.dev.local"</code><code class="bash plain">, </code><code class="bash string">"devopsad02.dev.local",</code><span style="font-family: monospace;">"devopsad03.dev.local"</span>]},</div><div class="line number5 index4 alt2"><code class="bash plain">     {dn_lookup_attribute,   </code><code class="bash string">"userPrincipalName"</code><code class="bash plain">},</code></div><div class="line number6 index5 alt1"><code class="bash plain">     {dn_lookup_base,        </code><code class="bash string">"DC=dev,DC=local"</code><code class="bash plain">},</code></div><div class="line number7 index6 alt2"><code class="bash plain">     {user_dn_pattern,       </code><code class="bash string">"${username}@dev.local"</code><code class="bash plain">},</code></div><div class="line number8 index7 alt1"><code class="bash plain">     {use_ssl,               </code><code class="bash functions">false</code><code class="bash plain">},</code></div><div class="line number9 index8 alt2"><code class="bash plain">     {port,                  389},</code></div><div class="line number10 index9 alt1"><code class="bash plain">     {log,                   </code><code class="bash functions">false</code><code class="bash plain">},</code></div><div class="line number11 index10 alt2"><code class="bash plain">     {vhost_access_query,    {in_group,</code></div><div class="line number12 index11 alt1"><code class="bash plain">                              </code><code class="bash string">"CN=sg_sh_mq_vhost-${vhost},OU=vhosts,OU=MQ,OU=Security Groups,OU=Groups,OU=SharedHosting,OU=eCG,DC=dev,DC=local"</code><code class="bash plain">}}</code></div><div class="line number13 index12 alt2"><code class="bash plain">     {resource_access_query,</code></div><div class="line number14 index13 alt1"><code class="bash plain">      {</code><code class="bash keyword">for</code><code class="bash plain">, [{permission, configure, {constant, </code><code class="bash functions">true</code><code class="bash plain">}},</code></div><div class="line number15 index14 alt2"><code class="bash plain">             {permission, write,</code></div><div class="line number16 index15 alt1"><code class="bash plain">              {</code><code class="bash keyword">for</code><code class="bash plain">, [{resource, queue,    {constant, </code><code class="bash functions">true</code><code class="bash plain">}},</code></div><div class="line number17 index16 alt2"><code class="bash plain">                     {resource, exchange, {constant, </code><code class="bash functions">true</code><code class="bash plain">}}]}},</code></div><div class="line number18 index17 alt1"><code class="bash plain">             {permission, </code><code class="bash functions">read</code><code class="bash plain">,</code></div><div class="line number19 index18 alt2"><code class="bash plain">              {</code><code class="bash keyword">for</code><code class="bash plain">, [{resource, exchange, {constant, </code><code class="bash functions">true</code><code class="bash plain">}},</code></div><div class="line number20 index19 alt1"><code class="bash plain">                     {resource, queue,    {constant, </code><code class="bash functions">true</code><code class="bash plain">}}]}}</code></div><div class="line number21 index20 alt2"><code class="bash plain">            ]</code></div><div class="line number22 index21 alt1"><code class="bash plain">      }},</code></div><div class="line number23 index22 alt2"><code class="bash plain">     {tag_queries,           [{administrator, {in_group, </code><code class="bash string">"CN=sg_sh_mq-admin,OU=MQ,OU=Security Groups,OU=Groups,OU=SharedHosting,OU=eCG,DC=dev,DC=local"</code><code class="bash plain">}},</code></div><div class="line number24 index23 alt1"><code class="bash plain">                              {management,    {constant, </code><code class="bash functions">true</code><code class="bash plain">}}]}</code></div><div class="line number25 index24 alt2"><code class="bash plain">   ]</code></div><div class="line number26 index25 alt1"><code class="bash plain">  }</code></div><div class="line number27 index26 alt2"><code class="bash plain">].</code></div></div></div></div>