Hi,
I am working both with HiveMQ Enterprise free edition on native Windows and also Docker HiveMQ-CE editions and face the same problem. I have some Perinet (HARTING Company) devices that support IPv6 only and need TLS secured connection. When I use IPv6 bind address in my config.xml (::) as attached, I get “Could not start TCP Listener with TLS on port 8883 and address ::. Is it already in use?” error. It is for sure no other application is listening on this port. Only way to overcome this is using IPv4 for the bind address and portproxy v6tov4 by adding a listener on port 88

83, which is not ideal, because we support zeroconf overall in our systems and its integrations. Is it a known issue? Could you support? Thanks!
Hi @minecet
We’re excited to see your interest in MQTT and HiveMQ. Feel free to jump in, ask questions, and learn at your own pace!
Check IPV6_V6ONLY
Setting via Registry
This setting controls whether Windows allows dual-stack (IPv6 and IPv4 on the same socket) when binding to ::
.
How to Check:
- Press
Windows + R
, type regedit
, and hit Enter.
- Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
- Look for a DWORD value named:
DisabledComponents
- Interpret the value:
Value (Hex) |
Meaning |
0 |
Dual-stack enabled (good) |
0x20 |
Prefer IPv4 over IPv6 |
0xff |
IPv6 completely disabled (bad) |
(not present) |
Windows default (dual-stack behavior depends on version) |
If the key doesn’t exist, Windows is using its default settings (which may not support dual-stack properly on all builds).
You can also check the socket behavior using PowerShell:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name DisabledComponents
If it returns nothing, the key is not set.
Best,
Dasha from the HiveMQ Support Team
Hi,
Thanks a lot for the prompt response! Well, I checked the regedit for ipv6 and even added the REG_DWORD, but it seems like I still get the same error:
2025-05-16 13:03:25,448 INFO - Starting TLS TCP listener on address :: and port 8883
2025-05-16 13:03:25,472 ERROR - Could not start TCP Listener with TLS on port 8883 and address ::. Is it already in use?
@minecet
Specify whether the java.net.preferIPv6Addresses
or java.net.preferIPv4Stack
system property is being used in your setup. Perform a full uninstallation of Docker from your Windows system and reinstall it, then observe whether the issue continues or resolves.
Test the listener using alternative ports such as 1883 or 6669 instead of 8883, and note whether the problem persists under those conditions.
Best,
Dasha from HiveMQ Team