Système:
méthode de déploiement Linux (centos7.6) : docker de déploiement à nœud unique +
version nginx + ssl : emqx 3.X (en utilisant la dernière image officielle)
La configuration est la suivante:
1. déploiement de docker (rappelez-vous ici, car il s'agit d'un déploiement à un seul nœud, le port 8084 doit être donné à nginx)
docker run -dit --restart always --name emqx -p 1883: 1883 -p 8083: 8083 -p 8883: 8883 -p 8085: 8084 -p 18084: 18083 emqx / emqx
#Modifier le mot de passe administrateur
#Entrez le conteneur et exécutez
/ opt / emqx / bin / emqx_ctl admins passwd xiaoka
#docker exec -it emqx sh -c "/ opt / emqx / bin / emqx_ctl admins passwd admin Passwordadmin "
2. déploiement nginx + wss
# / etc / nginx / conf.d / wss.conf
map $ http_upgrade $ connection_upgrade {
mise à jour par défaut;
'' Fermer;
}
wssweb en amont {
serveur localIP : 18083;
}
wss amont {
serveur localIP : 8083;
}
serveur {
écoute 80;
nom_serveur ws.xiaokakj.com;
root html;
index index.html index.htm;
location / {
proxy_pass http://wssweb;
}
}
serveur {
écoute 8084 ssl;
nom_serveur ws.test.com;
root html;
index index.html index.htm;
ssl_certificate /etc/nginx/cert/a.pem;
ssl_certificate_key /etc/nginx/cert/a.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location /mqtt {
proxy_pass http://wss;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
}
}