[
https://issues.apache.org/jira/browse/ARTEMIS-4956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Bertram updated ARTEMIS-4956:
------------------------------------
Description:
!小Q截图-20240729152045.png!
*configurations:*
{{broker.xml{}}}:
{code:xml}
<acceptor
name="mqtttls">tcp://0.0.0.0:1883?sslEnabled=true;sslProvider=OPENSSL;keyStorePath=/data/mqtt_ssl/mqtt_broker.keystore;keyStorePassword=12345;trustStorePath=/data/mqtt_ssl/mqtt_broker.truststore;trustStorePassword=12345;needClientAuth=true;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true;producerMaxRate=5;handshake-timeout=120</acceptor>{code}
{{testPage.html}}:
{noformat}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MQTT over WebSocket</title>
<script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
</head>
<body>
</body>
<script>
const clientId = 'mqttjs_' + Math.random().toString(16).substring(2, 8)
const connectUrl = 'wss://xxxxx:1883'
const options = {
keepalive: 30,
clientId: clientId,
clean: true,
connectTimeout: 5000,
username: 'test',
password: 'test',
reconnectPeriod: 1000,
key: KEY,
cert: CERT,
ca: CA_CERT,
}
const topic = '/WebSocket/mqtt'
const payload = 'WebSocket mqtt test'
const qos = 0
console.log('connecting mqtt client')
const client = mqtt.connect(connectUrl, options)
client.on('connect', () => {
console.log('Client connected:' + clientId)
client.subscribe(topic, \{ qos }, (error) => {
if (error) {
console.log('Subscribe error:', error)
return
}
console.log(`Subscribe to topic ${topic}`)
}
)
</script>
</html>{noformat}
Run error:
The server always auto disconnect the connection
was:
!小Q截图-20240729152045.png!
*configurations:*
{color:#ff0000}{{{}broker.xml{}}}:{color}
{color:#172b4d}<acceptor
name="mqtttls">tcp://0.0.0.0:1883?sslEnabled=true;sslProvider=OPENSSL;keyStorePath=/data/mqtt_ssl/mqtt_broker.keystore;keyStorePassword=12345;trustStorePath=/data/mqtt_ssl/mqtt_broker.truststore;trustStorePassword=12345;needClientAuth=true{color};tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;{color:#de350b}protocols=MQTT{color};useEpoll=true;producerMaxRate=5;handshake-timeout=120</acceptor>
{color:#de350b}testPage.html{color}{color:#de350b}:{color}
<!DOCTYPE html>
<html lang="en">
<head> <meta charset="UTF-8" /> <meta name="viewport"
content="width=device-width, initial-scale=1.0" />
<title>MQTT over WebSocket</title> <script
src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
</head>
<body>
</body>
<script>
const clientId = 'mqttjs_' + Math.random().toString(16).substring(2, 8)
const connectUrl = 'wss://xxxxx:1883'
const options = {
keepalive: 30,
clientId: clientId,
clean: true,
connectTimeout: 5000,
username: 'test',
password: 'test',
reconnectPeriod: 1000,
key: KEY,
cert: CERT,
ca: CA_CERT,
}
const topic = '/WebSocket/mqtt'
const payload = 'WebSocket mqtt test'
const qos = 0
console.log('connecting mqtt client')
const client = mqtt.connect(connectUrl, options)
client.on('connect', () => \{ console.log('Client connected:' + clientId)
client.subscribe(topic, \{ qos }, (error) => {
if (error) {
console.log('Subscribe error:', error)
return
}
console.log(`Subscribe to topic ${topic}`)
})
</script>
</html>
{color:#de350b}Run error: {color}
{color:#de350b}The server always auto disconnect the connection{color}
> How to solve mqtt over websocket when mqtt using tls?
> ------------------------------------------------------
>
> Key: ARTEMIS-4956
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4956
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker, MQTT
> Affects Versions: 2.17.0, 2.24.0
> Reporter: windy
> Priority: Major
> Attachments: 小Q截图-20240729152045.png
>
>
> !小Q截图-20240729152045.png!
> *configurations:*
> {{broker.xml{}}}:
> {code:xml}
> <acceptor
> name="mqtttls">tcp://0.0.0.0:1883?sslEnabled=true;sslProvider=OPENSSL;keyStorePath=/data/mqtt_ssl/mqtt_broker.keystore;keyStorePassword=12345;trustStorePath=/data/mqtt_ssl/mqtt_broker.truststore;trustStorePassword=12345;needClientAuth=true;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true;producerMaxRate=5;handshake-timeout=120</acceptor>{code}
> {{testPage.html}}:
> {noformat}
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8" />
> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
> <title>MQTT over WebSocket</title>
> <script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
> </head>
> <body>
> </body>
> <script>
> const clientId = 'mqttjs_' + Math.random().toString(16).substring(2, 8)
>
> const connectUrl = 'wss://xxxxx:1883'
> const options = {
> keepalive: 30,
> clientId: clientId,
> clean: true,
> connectTimeout: 5000,
> username: 'test',
> password: 'test',
> reconnectPeriod: 1000,
> key: KEY,
> cert: CERT,
> ca: CA_CERT,
> }
> const topic = '/WebSocket/mqtt'
> const payload = 'WebSocket mqtt test'
> const qos = 0
> console.log('connecting mqtt client')
> const client = mqtt.connect(connectUrl, options)
> client.on('connect', () => {
> console.log('Client connected:' + clientId)
> client.subscribe(topic, \{ qos }, (error) => {
> if (error) {
> console.log('Subscribe error:', error)
> return
> }
> console.log(`Subscribe to topic ${topic}`)
> }
> )
> </script>
> </html>{noformat}
> Run error:
> The server always auto disconnect the connection
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact