Fleet Server only binding to IPv6

I couldn't get an agent connected to the Fleet Server, so I ran netstat on the Fleet Server machine and noticed the port I configured is only bound to IPv6, not IPv4.

My Fleet Server URL is set to http://0.0.0.0:8220. I tried changing it to the actual IP of the machine but the issue persisted.

Both firewall and SELinux are disabled at the moment.

How can I get Fleet Server to bind to IPv4?

Hello Omar!

As near as I can tell, using 0.0.0.0 as the address will let the fleet server pick the interface to bind to. And using an explicit address should bind to just that address. According to the documentation: Fleet settings | Fleet User Guide [7.13] | Elastic

I wonder if there is some Linux networking setting that is for some reason forcing the ipv6 address to get bound. It definitely sounds like a bug if you specify the ipv4 address, and it ends up binding to a different address.

And wondering if the protocol of URL in the config doesn't match how the server is actually running, http vs https.

If you've exhausted all other options, you could open an issue against the fleet server github repository: GitHub - elastic/fleet-server: The Fleet server allows managing a fleet of Elastic Agents.