为什么需要内网穿透
很实用的一个场景,我们在进行微信公众号开发的时候,进行用户授权、调用JSDDK、处理公众号消息的时候需要一个可以访问的域名,如果每次都往服务器上传很麻烦,为了解决问题我们可以使用内网转发工具。
比如国外的https://ngrok.com/,国内的https://ngrok.cc/、echosite、https://natapp.cn
搭建自己的内网穿透
上面的这些使用起来有诸多限制,例如:不稳定,收费,不能自定义域名等等,所以决定自己用ngrok撸一个。
首先准备一个域名,将域名解析到自己的服务器,在域名解析中添加两条A记录your-domain.com
和*.ngrok.your-domain.com
开始安装
GO安装
1 | #下载 Go 语言文件 |
安装ngrok
1 | #下载ngrok源码 |
设置nginx反向代理
上面我们已经成功搭建好了ngrok,但是在访问的时候得加上端口号,所以我们使用nginx进行反向代理,新建nginx配置文件,输入一下内容
1 | upstream ngrok { |
重启nginx1
service nginx reload
这个时候我们就只需要访问example.ngrok.your-domain.com就可以了,nginx会自动帮我们转发到example.ngrok.your-domain.com:8777上
参考文章
https://blog.csdn.net/truong/article/details/73250683
http://aevitx.com/2016/03/31/ngrok/#%E7%BC%96%E8%AF%91linux%E7%AB%AF%E7%89%88%E6%9C%AC