需求:内网有一台mqtt协议服务器,需要将外网的mqtt请求通过一台服务器代理到内网的mqtt服务器上。而这台代理服务器不会开放出了80之外的端口,所以只能使用80端口来转发mqtt请求。

步骤:
1.安装nginx,步骤略。

2.关闭80端口。
(1)通常80端口会被apache的httpd进程使用,查看进程使用80端口的命令是:

sudo netstat -apn|grep 80

(2)关闭使用80端口的进程,有两种方式,第一种是“kill -9 进程号”,这个命令好像杀不掉httpd进程,就是用第二种命令“pkill -9 httpd”。

3.修改nginx的配置文件。
(1)Nginx1.9 版本以后增加 stream模块,可以对tcp,udp请求进行代理和负载均衡了。
(2)打开配置文件,添加如下模块:

stream {
  server {
    listen 80;
    proxy_pass apllo;
  }   upstream apllo {
    server 127.0.0.1:31613;
  }
}

然后删除http模块。
(3)重启nginx,命令是“nginx -s reload”,这个命令不一定好用,如果不好用的话,先用“pkill -9 nginx”命令杀掉nginx,再用“nginx -c /etc/nginx/nginx.conf”命令启动nginx。

注意:在启动nginx的过程中,可能会报一个端口80被占用的错误,是因为配置文件中http模块也在监听80端口,所以之后在stream模块监听80端口就报错了,解决办法就是删除http模块的配置。

nginx反向代理tcp协议的80端口的更多相关文章

  1. iperf测试流量转发(nginx反向代理tcp/udp)

    一.准备工作 服务器1:192.168.33.102     搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103    nginx要反向代理的服务器 服务器3:192.1 ...

  2. nginx 反向代理 公用一个外网端口

    服务器:ubuntu 配置nginx代理有2个文件,分别是sites-enabled 和sites-available. 路径都在/etc/nginx下,sites-enabled为sites-ava ...

  3. nginx 反向代理TCP mysql

    stream {upstream mysql { hash $remote_addr consistent; server 10.26.112.12:3306 max_fails=3 fail_tim ...

  4. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  5. 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  6. 搭建nginx反向代理用做内网域名转发

    先上一个我的正常使用的配置 location / { proxy_pass http://192.168.1.84:80; proxy_redirect off; proxy_set_header H ...

  7. nginx反向代理部署springboot项目报404无法加载静态资源

    问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...

  8. IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容

    环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: 以下是使用IIS的域名: http://www.formuch.com/ http://www.fo ...

  9. Nginx反向代理实现Tomcat多个应用80端口访问

    应用背景 一般我们在开发时,一个工程里会有多个Web应用,比如一个前台一个后台,那我们就需要配置2个Tomcat服务器,比如一个是http://localhost:8080,一个是http://loc ...

随机推荐

  1. python 中 list 的append与extend区别

    append 添加的是一个对象 extend 添加的是序列与原序列合并

  2. Canvas跟随鼠标炫彩小球

    跟随鼠标炫彩小球 canvas没有让我失望,真的很有意思 实现效果 超级炫酷 实现原理 创建小球 给小球添加随机颜色,随机半径 鼠标移动通过实例化,新增小球 通过调用给原型新增的方法,来实现小球的动画 ...

  3. p4 学习笔记

    新版的p4编译器编译p4-14 p4c test.p4 -o meter --std p4-14 #p4-14和p4-16存在较大差异,参考p4代码时需注意 p4语言特性 无符号数bit类型的操作:此 ...

  4. Step By Step(Lua弱引用table)

    Step By Step(Lua弱引用table) Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们.然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃 ...

  5. 活动识别API服务开发

    活动识别API服务开发 要使用华为活动识别服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 在Android Q以下 ...

  6. L4自动驾驶技术

    L4自动驾驶技术 一.SAE的五个级别分别是: L0:驾驶员完全掌控车辆,无任何自动化能力. L1:自动系统有时能够辅助驾驶员完成某些驾驶任务.比如高速自动巡航(自动认知所在车道),和一些驾驶辅助功能 ...

  7. PageHelper--Mybatis分页插件(ssm框架下的使用)

    1.导入PageHelper依赖 <!-- MyBatis 分页插件 --> <dependency> <groupId>com.github.pagehelper ...

  8. 配置NFS共享, Linux与Linux的共享

    • Network File System,网络文件系统 – 用途:为客户机提供共享使用的文件夹 – 协议:NFS(TCP/UDP 2049).RPC(TCP/UDP 111) 只读的NFS共享 服务 ...

  9. 【NX二次开发】根据视图名称旋转视图,在布局中替换视图uc6464

    uc6464("布局名","旧视图名","新视图名");输入布局名.旧视图名.新视图名.如果布局名为空则更新当前布局.如果旧视图名为空,则工 ...

  10. 【NX二次开发】多种变换

    变换的种类: uf5942 矩阵乘积变换 uf5943 平移变换 uf5944 缩放变换 uf5945 旋转变换 uf5946 镜像变换 最后使用 uf5947 实现uf5942-uf5946的变换. ...