当前位置: 首页 > ds >正文

使用nginx代理mqtt服务

先说概念避免踩坑: mqtt协议分 TCP 和webSocket
其中TCP通过nginx透传要用nginx的stream模块, 而webSocket用到的是http模块;

首先看nginx有木有stream模块;

nginx -V 2>&1 | grep -- '--with-stream'

有输出则标是有stream模块

然后在
nginx.conf中
添加

http {// stream 模块和http 同一级
}
stream {include conf.d/*.stream;
}

然后再 conf.d/mqtt.stream 中添加

upstream mqtt_server {  server 10.10.10.10:1883;   #可配多个高可用
}  server {listen  1883; ssl_certificate /usr/local/openresty/nginx/conf/ssl/_.xxxxxxx_chain.crt;ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/_.xxxxx_key.key;proxy_pass mqtt_server;proxy_connect_timeout 150s;proxy_timeout 150s;proxy_buffer_size 3M;tcp_nodelay on;
}

注意stream 模块不支持 server_name , 监听的只有端口,域名可以瞎配;

stream模块如果配置了http模块的一些东西, 数据解析就会出问题; 所以我啥也没加; 优化的 就需要去查查配置那些东西了

注意事项还有: 防火墙, 域名端口

http://www.xdnf.cn/news/12119.html

相关文章:

  • 算法分析与设计-动态规划、贪心算法
  • 对抗性提示:大型语言模型的安全性测试
  • 多模态大语言模型arxiv论文略读(107)
  • HTTP(超文本传输协议)详解
  • HarmonyOS Next 弹窗系列教程(4)
  • 【OpenGL学习】(四)统一着色和插值着色
  • 完成一个可交互的k8s管理平台的页面开发
  • [蓝桥杯]碱基
  • 2025年智能物联网与电子信息国际会议 (IITEI 2025)
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器
  • 【Docker 从入门到实战全攻略(二):核心概念 + 命令详解 + 部署案例】
  • [Java 基础]面向对象-多态
  • 电脑频繁黑屏怎么办
  • c++ STL 仿函数和适配器(算法常用)
  • 【Python金融笔记】加载数据与可视化
  • Appium+python自动化(八)- 认识Appium- 下章
  • JVM 内存溢出 详解
  • 数据结构第八章(一) 插入排序
  • DeviceNET从站转EtherNET/IP主站在盐化工行业的创新应用
  • 中国城市建成区数据集(1992-2020)V1.0
  • DataStreamAPI实践原理——快速上手(实操详细版)
  • skynet monitor线程的作用
  • Spring Boot 从Socket 到Netty网络编程(上):SOCKET 基本开发(BIO)与改进(NIO)
  • 大数据学习(130)-zookeeper
  • MP4文件声音与视频分离
  • 《高等数学》(同济大学·第7版)第一章第六节极限存在准则 两个重要极限
  • 高速PCB设计中圆弧布线是否必要
  • 实施规模化敏捷需优先解决哪些组织文化障碍?
  • 华为云Flexus+DeepSeek征文|基于华为云MaaS平台的DeepSeek大模型与云服务单机+CCE高可用部署实践
  • 结构型设计模式之Proxy(代理)