rabbitmq_auth_backend_http fails to connect to a hostname that only has DNS AAAA (IPv6) records #13181
-
Describe the bugHi I am using RabbitMQ on IpV6 only host. Details as below As mentioned, the host is IpV6 only. Hence I have set following variable before starting RabbitMQ RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-kernel inetrc 'C:/erl_inetrc' -proto_dist inet6_tcp erl_inetrc file content as below RabbitMQ is configured to authenticate user using rabbitmq_auth_backend_http {rabbitmq_auth_backend_http, Host name "winhost" gets resolved to ipv6 address. No IpV4 address. It can be seen that RabbitMQ is up and running. I can see that it is accepting AMQP connections on Ipv6 interface. But when it tries to connect to "winhost" to authenticate user, it is failing with below error. 2025-01-27 00:00:34.695000-08:00 [info] <0.5433.0> accepting AMQP connection <0.5433.0> ([xxxx:xxx:xxxx:xxxx::xxx]:62052 -> [xxxx:xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:5672) Reproduction stepsRefer description. Expected behaviorAuthenticate should work even if http uri getting resolved ipv6 host. Additional contextNo response |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
@graorane RabbitMQ 3.13 is out of community support. I don't see why the HTTP client used underneath would not use with IPv6 addresses. There are no special "IPv6 settings" in the client.
You configure the client to use TLS v1.3 which won't work with TLS v1.2 servers, as explained in the docs. In addition, troubleshooting TLS connections is a whole different universe of possible scenarios, and our Community Support Policy explicitly states that we will not troubleshoot TLS for you. You must provide clear evidence with a detailed set of reproducible steps (e.g. a git repository with containers and a set of specific steps to follow). |
Beta Was this translation helpful? Give feedback.
-
The underlying's HTTP client docs say
where the underlying mechanism is the DNS, TCP and IP implementations. Not only they do support IPv6,
This file is mentioned in the Networking guide. A Functional ExampleUsing the following Spring Boot example, an ::1 localhost localhost6 and this
I run the node like so: RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-kernel inetrc '/path/to/inetrc'" RABBITMQ_CONFIG_FILE='/path/to/auth_backend_http_spring.conf' rabbitmq-server I can successfully connect using a Ruby client REPL using the default credentials, the only ones supported by the example Spring Boot app. Both RabbitMQ node and Spring Boot logs report a successful connection:
To verify that my rabbitmq-diagnostics environment | grep inetrc
# => {inetrc,'/path/to/inetrc'}, |
Beta Was this translation helpful? Give feedback.
@graorane RabbitMQ 3.13 is out of community support.
I don't see why the HTTP client used underneath would not use with IPv6 addresses. There are no special "IPv6 settings" in the client.
failed_connect
can mean a broad range of potential connectivity issues. It's on you to demonstrates the evidence (e.g. with a traffic capture). We have several example applications that can be used with said plugin.You configure the client to use TLS v1.3 which won't work with TLS v1.2 servers, as explained in the docs.
In addition, troubleshooting TLS connections is a whole different universe of possible scenarios, and our Community Support Policy explicitly states that we will not troubleshoot TLS for…