software.amazon.awssdk.crt.mqtt.MqttException: socket is closed.at software.amazon.awssdk.crt.mqtt.MqttClientConnection.onConnectionComplete(MqttClientConnection.java:140)
Resolved :
You must use nginx module: ngx_stream_proxy_module ( like network load balancer) this is a template to resolve :
Stream{map $ssl_preread_server_name $domain {stg-iot.yourdomain stg-iot;iot.yourdomain prod-iot;}upstream stg-iot {server IoT-xxxxxx..ap-your_region-1.amazonaws.com:443;}upstream prod-iot {server IoT-xxxxxx..ap-your_region-1.amazonaws.com:443;}map $ssl_server_name $targetCert {stg-iot.yourdomain /etc/nginx/ssl/star_yourdomain.crt;iot.yourdomain /etc/nginx/ssl/star_yourdomain.crt;}map $ssl_server_name $targetCertKey {stg-iot.yourdomain /etc/nginx/ssl/star_yourdomain.key;iot.yourdomain /etc/nginx/ssl/star_yourdomain.key;}server {listen 443;ssl_certificate $targetCert;ssl_certificate_key $targetCertKey;proxy_pass $domain;ssl_preread on;}}
===============================================================
Feel free to use them without concern!
Nginx reverse proxy for AWS IoT MQTT over TLS
Nguyen Si Nhan
Very useful configuration sample to setup Nginx Stream Proxy for MQTT protocol. Awesome big bro.
ReplyDelete