有时候我们想通过域名的方式来进行mqtt的连接。

首先在阿里云上安装mqtt服务器端。本文mqtt服务器端ip地址为: xx.xx.67.177

并配置mqtt监听端口 tcp : 1883 , http /ws 为 8083

安装好之后下载mqttbox 工具进行测试连接。

一、使用TCP的方式验证mqtt服务器。

至此说明mqtt服务器 1883端口正常,并能通过mqtt客户端工具连接上。

二、使用ws 的方式验证mqtt服务器

下面讲使用nginx进行域名配置及反向代理。

准备 :申请一个域名,并解释到nginx 所在的机器上。

一、配置ws 的域名反向代理.

mqtt_ws.conf

map $http_upgrade $connection_upgrade {  default upgrade;  '' close;
}
upstream mqtt_ws_server {  server xx.xx.67.177:8083; #可以配置多个,作为高可用
}
server {  listen 80;  server_name dxxxxd.sxxxxt.com; #修改为自己的域名access_log  /wwwlogs/mqtt_ws.log;     #日志路径error_log /wwwlogs/mqtt_ws_err.log;   #错误日志路径location / {  proxy_pass http://mqtt_ws_server/mqtt;  #这里是否带/mqtt路径处决于你mqtt服务端部署proxy_http_version 1.1;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "Upgrade";  }
}

可以将conf进行include进去就好了。

使用mqttbox进行验证代理。

二、配置域名访问支持wss (wss  和ws 的区别,就当https 和http吧详细度娘)

mqtt_wss.conf

map $http_upgrade $connection_upgrade {  default upgrade;  '' close;
}
upstream mqtt_wss_server {  server xx.xxx.67.177:8083;   #可配多个高可用
}
server {  listen 443;  server_name dxxxxd.sxxxxt.com;    #域名ssl_certificate "/opt/nginx/cert/sxxxxt.com.pem";      #要配证书ssl_certificate_key "/opt/nginx/cert/sxxxxt.com.key";  #要配证书keyssl_session_cache shared:SSL:1m;ssl_session_timeout  10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;access_log  /wwwlogs/mqtt_wss.log;    #日志error_log /wwwlogs/mqtt_wss_err.log;location / {  proxy_pass http://mqtt_wss_server/mqtt;  #反向代理的地址proxy_http_version 1.1;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "Upgrade";  }
}

验证

这里的443也可以不加

三、配置反向代理Tcp的方式。

注意配置tcp 要使用nginx的stream服务节点。

mqtt_tcp.conf

stream {log_format proxy '$remote_addr [$time_local] ''$protocol $status $bytes_sent $bytes_received ''$session_time "$upstream_addr" ''"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';access_log /wwwlogs/tcp-access.log proxy;open_log_file_cache off;upstream mqtt_tcp_server {server xx.xx.67.177:1883;      #高可用均衡配置server xx.xx.123.132:1883;
}    server {listen       18883;  #监听端口 也可以使用1883#listen      80;  #则使用mqtt://dxxxd.sxxxxt.com:80proxy_connect_timeout 150s;proxy_timeout 150s;proxy_pass mqtt_tcp_server;  #反向代理地址proxy_buffer_size 3M;tcp_nodelay on;}}

验证

验证结束。

至此已经可以通过域名进行mqtt/ws/wss 等访问了。

Nginx配置域名反向代理MQTT 配置mqtt /ws /wss访问域名连接。相关推荐

  1. 【转】Nginx服务器的反向代理proxy_pass配置方法讲解

    [转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲 Nginx的配置还是比较简单的 ...

  2. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例

    写在开始 去年,做过一款竞赛打分的APP.具体需求,同组教师之间可以相互通信,及时通知同组人员,其他组员做了那些操作(当然,这只是针对特定操作). 实现方案 采用目前比较成熟的WebSocket技术, ...

  3. nginx反向代理打印日志_nginx启用TCP反向代理日志配置

    Nginx使用TCP反向代理日志配置不同于http 修改nginx配置文档/usr/local/nginx/conf/nginx.conf 设置日志格式 stream { log_format pro ...

  4. docker部署nginx 并实现反向代理 配置多个域名多个端口

    文章目录 docker部署nginx 并实现反向代理 配置多个域名多个端口 1. 安装nginx: 2. 以终端的方式打开镜像容器 default.conf: nginx.conf: 3. 在linu ...

  5. Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  6. Nginx反向代理的配置

    一.引言 最近搞个服务器,然后部署了个人网站,以及一些服务供自己玩耍,其中Nginx最让我很难受,配置总是要现用现百度.所以,我来了,咳咳,我带来了一些​常用的配置.​需要有 Linux 和 Ngin ...

  7. 【Nginx】Nginx配置实例-反向代理

    1. 反向代理实例一 实现过程 1. 启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面 2. 通过修改本地 host 文件,将 www.123.com 映射到 12 ...

  8. nginx正向代理与反向代理的配置

    (如有错漏之处,敬请指正) nginx是什么? 戳这里了解nginx概念 今年年初因为个需求才开始认识nginx的,对方只提供了一个端口访问权限给我们,无法承担起3.4个应用的通信需求,故引入了ngi ...

  9. nginx反向代理模块配置详解_nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

最新文章

  1. LeetCode简单题之仅执行一次字符串交换能否使两个字符串相等
  2. Hinton等6位图灵奖得主、百余位顶级学者邀你加入群聊,共话人工智能下一个十年...
  3. Robolectric
  4. Qt Creator指定环境设置
  5. Eclipse导入android项目出现很多错误
  6. Android—APK、JVM-Dalvik-ART
  7. [css] 你有用过table布局吗?说说你的感受
  8. C# 在数组中判断是否存在某个数组值
  9. ftp搜索文件_CrossFTP for Mac(FTP客户端)
  10. 2万亿市值公司的网络运营技术解密
  11. ThinkPHP5捕获致命错误流程
  12. springmvc和activemq的整合使用
  13. web项目移动端在线预览(excel在线预览)
  14. app毕业设计 基于uni-app框架的电影院订票选座app毕设题目课题选题作品(2)后台管理功能
  15. html静态页面如何复用,一种前端页面模板复用的方法与流程
  16. 华硕固件默认ip,不能进入路由的管理后台了?千万别慌张
  17. 祈求代码不出 Bug 该拜哪个“神仙”?
  18. 这是我见过最美的公众号图文排版,不接受反驳。
  19. 启动VMware时遇到“vmx86版本不匹配问题”处理方法
  20. 超人:钢铁之躯 Man of Steel (2013)

热门文章

  1. [CV]一些关于计算机视觉面试题的整理
  2. Missing iOS Distribution signing identity证书失效问题
  3. 测试笑话看着看着哭完了
  4. 用python画杨辉三角_杨辉三角实现(Python)
  5. OSChina 周六乱弹 ——程序员还是大学生的时候 带啥去上学
  6. css3 html5燃烧,css3逼真的蜡烛点燃动画特效
  7. 工具推荐:串口助手-SerialPort 物联网开发利器
  8. python使用线程解决窗口卡顿问题
  9. React难点redux
  10. go学习之异常记录01:panic: reflect: call of reflect.Value.NumField on int Value