社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

借助 NGINX+ 优化 MQTT 集群,实现 100万设备连接,提升数据传输效率和应用安全性

IoT物联网技术 • 1 年前 • 246 次点击  

随着物联网(IoT)的不断发展,越来越多的应用场景采用了 MQTT 专为物联网设计的轻量级消息传输协议。由于其简洁、高效和灵活的特性,MQTT 成为物联网通信的热门选择。通过 MQTT,设备可以实现快速、可靠的通信,实现实时监控、数据采集和远程控制等功能,为企业提供了全新的业务机会和优化方案。

然而,这种广泛应用也带来了更多的安全挑战。未经授权的访问、数据篡改窃听等问题是 MQTT 网络面临的一些常见安全威胁。这些漏洞可能会造成严重的后果,尤其是对那些高度依赖 MQTT 的组织而言。恶意攻击者可以利用这些漏洞侵入 MQTT Broker 和客户端、篡改传输的数据、或者进行窃听以获取重要信息。

随着设备数量呈指数级增长,确保通信安全变得至关重要。双向 TLS 认证可以有效保护 MQTT 通信,它能实现端到端的加密,并保证数据传输的真实性。它要求客户端和服务器都出示有效的证书,从而建立一个双向的认证过程。只有双方都通过认证,才能建立安全的加密连接,有效防止未授权的访问、数据泄露和窃听。

在这一背景下,NGINX Plus 和 EMQX 的结合为 MQTT 集群的安全通信提供了强大的解决方案。

NGINX Plus 作为一款高性能的应用交付设施,具备强大的负载均衡、缓存加速和安全防护等功能,能够有效地管理和优化 MQTT 消息的传输和处理,提升系统的性能和可靠性。此外,NGINX Plus 还提供了灵活的扩展性和可定制性,使企业能够根据自身需求定制化部署和优化方案。

你只需要需要在 NGINX 配置中指定 SSL 证书和私钥的路径 ,即可轻松实现 TLS 双向认证,同时启用 SSL 会话缓存来优化性能。
stream {
  server {    listen 8883 ssl;    ssl_certificate /etc/nginx/certs/emqx.pem;    ssl_certificate_key /etc/nginx/certs/emqx.key;    ssl_client_certificate /etc/nginx/certs/ca.crt;    ssl_session_cache shared:SSL:5m;    ssl_verify_client on;    proxy_pass 10.0.0.113:1883;    proxy_connect_timeout 5s;  }
}

NGINX 充当 MQTT 连接的安全代理,客户端必须使用 SSL/TLS(端口 8883),并提供一个由可信 CA 签发的有效客户端证书。NGINX 会终止 SSL/TLS 连接,验证客户端的证书,然后把 MQTT 连接转发到位于 10.0.0.113:1883 的实际 MQTT Broker。这样做可以把 SSL/TLS 终止和客户端证书验证的工作从 EMQX Broker 转移给 NGINX,从而提升性能和安全性。


欢迎您报名观看 NGINX Plus 线上直播,了解更多关于NGINX Plus优化 MQTT 集群方案,并有机会获得 NGINX 独家周边纪念品


/ 直播时间 /

2024年3月19日(周二) 15:00 开始

/ 直播看点 /


/ 直播平台 /

NGINX 中文官网  nginx-cn.net


/ 立即报名 /


欢迎 扫码注册
获取本次活动 视频录像相关PPT



讲师介绍


熊平

F5 NGINX 架构师


熊平先生拥有超 20年应用交付领域工作经验,F5 认证方案专家、NGINX 认证教练、AWS 架构师认证目前负责金融行业应用服务架构方案设计和咨询,精通私有云、公有云、容器云等架构设计。

/ 立即报名 /


关注NGINX开源社区

第一时间获取干货好文





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/168127
 
246 次点击