12月18日更新 添加 frp 配置
前言
内网穿透,无需多言,用处多多。首先强力推荐一款Sunny大大搭建的ngrok服务好用的不行,而且有免费选项,感觉平时够用了。那么,为什么自己还要搭建一个呢?可能刚刚看过两眼的docker入门,想来尝试一下吧。恩,也可能是闲的吧┑( ̄Д  ̄)┍
ps: ngrok 2版本已商业化,开源的只到1.7版本,听说会有些性能问题。还有一款基于go的开源的内网穿透工具frp 在末尾添加了frp 的配置
搭建过程
至于玩法,1)可以将本地的server的端口代理到外网可访问,便于微信开发或者暴露内网的服务器等。2)可以代理ssh 连接,比如可以连接家里的树莓派。
ps:在使用docker-compose 集成Nginx反向代理时 发现暴露的端口有点多,况且nginx都是服务端的标配了,所以就去掉了。╮( ̄▽ ̄")╭
还是直接上实在的吧(以下命令基于Ubuntu):
准备
域名
域名可购买略
域名解析设置
服务器
所需软件安装
克隆源码
生成证书
编译生成服务端软件 和 客户端软件
容器化
生成镜像
利用docker-compose 集成Nginx反向代理
具体步骤
域名解析设置
假设你的域名为: yourset.com
假设你的ngrok服务二级访问域名为:ngrok.yourset.com
添加如下解析:ngrok.yourset.com --->A记录 your ip
*.ngrok.yourset.com --->CNAME 到 ngrok.yourset.com(可自由配置)
服务环境设置
基于 Ubuntu 16.04
安装git
$ sudo apt-get update
$ sudo apt-get install git
安装go lang
$ 下载go1.9.2.linux-amd64.tar.gz(注意对应自己的系统下载,具体请参考上方连接)
$ tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
$ vi /root/.bashrc 或者 /home/user/.zsh #根据你的用户选取
$ export PATH=$PATH:/usr/local/go/bin #添加环境变量
$ source /root/.bashrc #更新环境变量
克隆源码
$ cd /usr/loc