yunAIYI_nginxUpdate  - 定时更新电信动态公网 IP

ciste 2020-06-09 12:10:58

yunAIYI_nginxUpdate,高速内网穿透。

业务背景

使用第三方提供的内网穿透服务,还是有明显的网络延迟,如果有阿里云或腾讯云,可以自己结合宽带动态公网ip部署自己的内网穿透。没有过多的流量回路,速度肯定比第三方内网穿透快和稳定。

原理:TCP长连接状态处理,当宽带动态公网ip变化,实时更新到阿里云web服务器,更新nginx,从而完成内网穿透。

前置条件

  1. 电信宽带下的服务器 PCserver1。有电信公网ip但动态变化,且无80 443端口权限。

  2. 阿里云web服务器例 PCserver2,固定公网ip如:1.1.1.1 。部署web服务会nginx。 (测试环境服务器配置:5m宽带,1核2g内存。)
    nginx配置,把80 443都代理到一个变量ip,内容随便写,会自动更新。
    set @mydynamicIP "111.1.1.1"。
    配置信息参考后面示例。

  3. 域名如 mydomain.top,a记录绑定到1.1.1.1。

最终效果

核心业务系统部署在宽带环境下的pc服务器上。(自己的pc服务器硬件性能远超这台云服务器) 访问 https://mydomain.top ,仅通过PCserver2 nginx进行代理,业务服务器还是在PCserver1上。

和第三方提供的内网穿透比对测试

测试数据 以下三张图片分别是下面三种方式测试结果:

测试图如下:

动态公网ip+云服务器:
动态公网ip+云服务器
natapp vip2内网穿透:
natapp vip2内网穿透
动态公网ip直连:
动态公网ip直连

经测试这三种模式下的网速:

  1. 动态公网ip+云服务器 速度排行第二
  2. natapp vip2内网穿透 速度排行第三
  3. 动态公网ip 直连(非80端口) 速度排行第一

第二种,慢的离谱,但是当你自己访问,非并发访问,感觉不出来慢,大并发访问时候上层流量是有瓶颈的! 具体,可以再亲测,yunAIYI_nginxUpdate 就是协助部署动态公网ip+云服务器。

使用第一种方案后,域名访问速度提升测试图:

升级后测试图:
升级后测试图

使用说明:

Aliyun_nginxServer Aliyun_nginxClient 启动顺序可以随意 。

  1. 云服务器 PCserver2 下载运行 document/build/Aliyun_nginxServer or Aliyun_nginxServer.exe 和配置文件config。 双击运行即可。
    访问: 有内容,说明启动成功。

  2. 自己的pc PCserver1 下载运行 document/build/Aliyun_nginxClient or Aliyun_nginxClient.exe 和配置文件config。 保障8999端口没有被占用。 配置文件中修改 aliyunip 为自己的阿里云web服务器ip。
    双击运行即可。
    访问: 有内容,说明启动成功。

二进制执行文件

见git仓库 document/build 文件。已打包linux和windows版本。
    公告

    《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

    课程地址:https://www.shiyanlou.com/courses/1436
    9折优惠邀请码: ZHwfIjb1

    该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。