# HiveMQ Edge \[2025.13\] to HiveMQ Cloud (Free Edition) – Connection Issue

**URL:** <https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894>\
**Category:** HiveMQ Cloud\
**Created:** [August 14, 2025, 2:03pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894 "2025-08-14T14:03:43Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 14, 2025, 2:03pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/1 "2025-08-14T14:03:43Z")

</div>

Hi,

I’m running HiveMQ Edge **[2025.13]** in a Docker container and trying to connect it to a HiveMQ Cloud Free Edition instance on AWS (`<cluster_id>.s1.eu.hivemq.cloud`). However, I am unable to complete the connection successfully.

My first challenge is that I cannot find any documentation that matches the current UX in **[2025.13]** exactly — neither in [GitHub](https://github.com/hivemq/hivemq-edge/tree/master?tab=readme-ov-file) nor in the [HiveMQ Edge Docs](https://docs.hivemq.com/hivemq-edge/index.html).

I have tried multiple configurations for the **Client ID** field, but regardless of what I enter, the bridge status remains **“disconnected”** , and I see the following error:

```auto
com.hivemq.client.mqtt.exceptions.ConnectionFailedException: io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: connection was closed during handshake
Caused by: io.netty.handler.codec.http.websocketx.WebSocketHandshakeException: connection was closed during handshake
	at com.hivemq.client.internal.mqtt.handler.websocket.MqttWebsocketHandshakeHandler.channelInactive(MqttWebsocketHandshakeHandler.java:115)
	...
	at java.base/java.lang.Thread.run(Unknown Source)

```

Additional details:

- Enable Transport Layer Security (TLS) is enabled.

- Connection type: WebSocket (as required for HiveMQ Cloud).

Do you have any idea what I might be doing wrong?

---

<div class="post-metadata">

**Author:** ![AaronTLFranz](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/aarontlfranz/32/638_2.png) [@AaronTLFranz](https://community.hivemq.com/u/AaronTLFranz)\
**Post date:** [August 15, 2025, 12:53pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/2 "2025-08-15T12:53:02Z")

</div>

Hello @gebinger ,

Thank you for the outreach - we would be happy to help!

To start with, most typically this Client ID section is user-defined, and functions as a unique identifier for the MQTT clients that will be utilized by the client and broker to identify this particular client instance.

Based on the error provided, I do not believe this to be related, as the error indicates that the connection was terminated during the handshake event, likely relating this behavior to TLS negotiation on the connect attempt.

To dive in a bit deeper, I’d ask to confirm the current TLS configuration options set for your HiveMQ Edge deployment - if possible, copying the current HiveMQ Edge `config.xml` file, stored within the `conf` folder of your installation directory, within this thread would be great and allow us to see the full configuration for additional troubleshooting. Please feel free to obfuscate any potentially sensitive information, such as credentials or URLs.

Additionally, I would recommend ensuring the TLS-SNI is enabled, for which our article here provides some more detailed instructions : [https://hivemq.atlassian.net/wiki/x/MgDms](https://hivemq.atlassian.net/wiki/x/MgDms).

Best,

Aaron from the HiveMQ Team

---

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 19, 2025, 1:37pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/3 "2025-08-19T13:37:28Z")

</div>

Hi Franz, regarding config.xml:

\<?xml version="1.0" encoding="UTF-8" standalone="yes"?\> 1 1883 0.0.0.0 2442 0.0.0.0 1000 discard true true 2 true 5 4294967296 4294967295 true true 65535 true 268435460 10 false false 30 false false false 23 1 -1 65535 65535 10000 0 false true true true in-memory ${mycloudconnectid} 8883 ${Cluster ID}.s1.eu.hivemq.cloud ${myclientid} true 3600 60 ${myusername}/username\> ${mypassword} true /mqtt mqtt true 10 false false 1 true true 8080 0.0.0.0 2048 HiveMQ-Edge HiveMQ-Edge-Api 30 2 false false false true true

---

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 19, 2025, 1:39pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/4 "2025-08-19T13:39:42Z")

</div>

regarding ngrok

ERROR: failed to start tunnel: You must add a credit or debit card before you can use TCP endpoints on a free account. We require a valid card as a way to comat abuse and keep the internet a safe place. This card will NOT be charged.  
ERROR: Add a card to your account here: [ngrok — Log in](https://dashboard.ngrok.com/settings#id-verification)  
ERROR:  
ERROR: ERR\_NGROK\_8013  
ERROR: [ERR\_NGROK\_8013 | ngrok documentation](https://ngrok.com/docs/errors/err_ngrok_8013)  
ERROR:

I would like to avoid this 😏

---

<div class="post-metadata">

**Author:** ![usuario](https://avatars.discourse-cdn.com/v4/letter/u/9f8e36/32.png) [@usuario](https://community.hivemq.com/u/usuario)\
**Post date:** [August 20, 2025, 12:52pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/5 "2025-08-20T12:52:05Z")

</div>

Which port are you using, 8883 or 8884? WebSocket is 8884 (TLS required as well), 8883 is no WebSocket (TLS required)

---

<div class="post-metadata">

**Author:** ![AaronTLFranz](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/aarontlfranz/32/638_2.png) [@AaronTLFranz](https://community.hivemq.com/u/AaronTLFranz)\
**Post date:** [August 20, 2025, 8:55pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/6 "2025-08-20T20:55:40Z")

</div>

Hello @gebinger ,

Thank you for the follow-up!

It looks like you’ve posted the contents of the XML via a web browser, or another application that attempted to parse it. To review this file, you will need to open the config.xml via a text or a code editor, or by attaching the file here.

Best,

Aaron from the HiveMQ Team

---

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 21, 2025, 12:44pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/7 "2025-08-21T12:44:01Z")

</div>

Hi, sorry, I was blocked after the post regarding ngrok.  
I use Azure IoT Edge as a host and run HiveMQ Edge in a container, because for our use case we also need the Azure Device Update Service. Since port 8883 is already used by Azure IoT Edge, I mapped HiveMQ Edge’s 8883 to 8884, but maybe that wasn’t a good idea. I’ve now changed it to 7883.

---

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 21, 2025, 1:00pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/8 "2025-08-21T13:00:17Z")

</div>

Sorry, to quick … here in xml format … files I can’t attached here.

```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<hivemq xsi:schemaLocation="config.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <config-version>1</config-version>
    <mqtt-listeners>
        <tcp-listener>
            <port>1883</port>
            <bind-address>0.0.0.0</bind-address>
        </tcp-listener>
    </mqtt-listeners>
    <mqtt-sn-listeners>
        <udp-listener>
            <port>2442</port>
            <bind-address>0.0.0.0</bind-address>
        </udp-listener>
    </mqtt-sn-listeners>
    <mqtt>
        <queued-messages>
            <max-queue-size>1000</max-queue-size>
            <strategy>discard</strategy>
        </queued-messages>
        <retained-messages>
            <enabled>true</enabled>
        </retained-messages>
        <wildcard-subscriptions>
            <enabled>true</enabled>
        </wildcard-subscriptions>
        <quality-of-service>
            <max-qos>2</max-qos>
        </quality-of-service>
        <topic-alias>
            <enabled>true</enabled>
            <max-per-client>5</max-per-client>
        </topic-alias>
        <message-expiry>
            <max-interval>4294967296</max-interval>
        </message-expiry>
        <session-expiry>
            <max-interval>4294967295</max-interval>
        </session-expiry>
        <subscription-identifier>
            <enabled>true</enabled>
        </subscription-identifier>
        <shared-subscriptions>
            <enabled>true</enabled>
        </shared-subscriptions>
        <keep-alive>
            <max-keep-alive>65535</max-keep-alive>
            <allow-unlimited>true</allow-unlimited>
        </keep-alive>
        <packets>
            <max-packet-size>268435460</max-packet-size>
        </packets>
        <receive-maximum>
            <server-receive-maximum>10</server-receive-maximum>
        </receive-maximum>
    </mqtt>
    <mqtt-sn>
        <predefined-topics/>
        <allow-empty-client-identifier>
            <enabled>false</enabled>
        </allow-empty-client-identifier>
        <discovery>
            <enabled>false</enabled>
            <broadcast-addresses/>
            <discovery-interval-seconds>30</discovery-interval-seconds>
        </discovery>
        <allow-anonymous-publish-minus-one>
            <enabled>false</enabled>
        </allow-anonymous-publish-minus-one>
        <allow-waking-ping-session-hijack>
            <enabled>false</enabled>
        </allow-waking-ping-session-hijack>
        <topic-registrations-held-during-sleep>
            <enabled>false</enabled>
        </topic-registrations-held-during-sleep>
        <max-client-identifier-length>23</max-client-identifier-length>
        <gateway-id>1</gateway-id>
    </mqtt-sn>
    <restrictions>
        <max-connections>-1</max-connections>
        <max-client-id-length>65535</max-client-id-length>
        <max-topic-length>65535</max-topic-length>
        <no-connect-idle-timeout>10000</no-connect-idle-timeout>
        <incoming-bandwidth-throttling>0</incoming-bandwidth-throttling>
    </restrictions>
    <security>
        <payload-format-validation>
            <enabled>false</enabled>
        </payload-format-validation>
        <utf8-validation>
            <enabled>true</enabled>
        </utf8-validation>
        <allow-empty-client-id>
            <enabled>true</enabled>
        </allow-empty-client-id>
        <allow-request-problem-information>
            <enabled>true</enabled>
        </allow-request-problem-information>
    </security>
    <persistence>
        <mode>in-memory</mode>
    </persistence>
    <mqtt-bridges>
        <mqtt-bridge>
            <id>FME-Cloud-Connect</id>
            <remote-broker>
                <port>8883</port>
                <host>${myclusterid}.s1.eu.hivemq.cloud</host>
                <mqtt>
                    <client-id>${myclientid}</client-id>
                    <clean-start>true</clean-start>
                    <session-expiry>3600</session-expiry>
                    <keep-alive>60</keep-alive>
                </mqtt>
                <authentication>
                    <mqtt-simple-authentication>
                        <username>${myusername}ername>
                        <password>${mypassword}</password>
                    </mqtt-simple-authentication>
                </authentication>
                <websocket>
                    <enabled>true</enabled>
                    <server-path>/mqtt</server-path>
                    <subprotocol>mqtt</subprotocol>
                </websocket>
                <tls>
                    <enabled>true</enabled>
                    <protocols/>
                    <cipher-suites/>
                    <handshake-timeout>10</handshake-timeout>
                    <verify-hostname>false</verify-hostname>
                </tls>
            </remote-broker>
            <remote-subscriptions/>
            <forwarded-topics/>
            <loop-prevention>
                <enabled>false</enabled>
                <hop-count-limit>1</hop-count-limit>
            </loop-prevention>
            <persist>true</persist>
        </mqtt-bridge>
    </mqtt-bridges>
    <admin-api>
        <enabled>true</enabled>
        <listeners>
            <http-listener>
                <port>8080</port>
                <bind-address>0.0.0.0</bind-address>
            </http-listener>
        </listeners>
        <generated-tokens>
            <keySize>2048</keySize>
            <issuer>HiveMQ-Edge</issuer>
            <audience>HiveMQ-Edge-Api</audience>
            <expiryTimeMinutes>30</expiryTimeMinutes>
            <tokenEarlyEpochThresholdMinutes>2</tokenEarlyEpochThresholdMinutes>
        </generated-tokens>
        <users/>
    </admin-api>
    <uns>
        <isa95>
            <enabled>false</enabled>
            <prefix-all-topics>false</prefix-all-topics>
        </isa95>
    </uns>
    <dynamic-configuration>
        <allow-configuration-export>false</allow-configuration-export>
        <allow-mutable-configuration>true</allow-mutable-configuration>
    </dynamic-configuration>
    <usage-tracking>
        <enabled>true</enabled>
    </usage-tracking>
    <protocol-adapters/>
    <data-combiners/>
    <modules/>
    <internal/>
</hivemq>

```

---

<div class="post-metadata">

**Author:** ![AaronTLFranz](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/aarontlfranz/32/638_2.png) [@AaronTLFranz](https://community.hivemq.com/u/AaronTLFranz)\
**Post date:** [August 25, 2025, 4:03pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/9 "2025-08-25T16:03:32Z")

</div>

Hello @gebinger ,

Thank you for the follow-up!

For the Bridge Extension, you are connecting to a remote broker (cloud) using port 8883 with Websocket enabled. It is worth noting that HiveMQ Cloud deployments utilize port 8884 as a websocket listener, and this should be used instead.

Let us know if you are able to make this configuration update, and encounter any further issues!

Best,

Aaron from the HiveMQ Team

---

<div class="post-metadata">

**Author:** ![gebinger](https://avatars.discourse-cdn.com/v4/letter/g/58f4c7/32.png) [@gebinger](https://community.hivemq.com/u/gebinger)\
**Post date:** [August 27, 2025, 8:15am UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/10 "2025-08-27T08:15:58Z")

</div>

Hi, sorry for the late reply. In the meantime, I was able to fix the problem — **“Enable Transport Layer Security (TLS)”** was turned off. 🫣

---

<div class="post-metadata">

**Author:** ![AaronTLFranz](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/aarontlfranz/32/638_2.png) [@AaronTLFranz](https://community.hivemq.com/u/AaronTLFranz)\
**Post date:** [September 2, 2025, 7:25pm UTC](https://community.hivemq.com/t/hivemq-edge-2025-13-to-hivemq-cloud-free-edition-connection-issue/3894/11 "2025-09-02T19:25:23Z")

</div>

Hello @gebinger ,

Thank you for the follow-up - I am glad to hear you were able to get this sorted!

As always, please feel free to let us know if you have any further questions - we are always happy to help!

Best,

Aaron from the HiveMQ Team
