假设你在办公室里,刚刚开发完一个新Web站点,并热切地希望展示给你的客户看。然而,不巧的是,客户不在你的办公室,客户在自己的公司里上网。你们之间只能公网互访,而你又未部署新站点到公网服务器上。公网上的客户无法访问你的内网站点,怎么办?一般情况时,你只好将新站点上传到公网服务器部署,或者截图给人家看效果了。如果客户看了以后,又提出修改意见,你又要反复以上步骤,可能要5-8遍!你心里也知道,这样做十分低效, 要知道,开发人员的时间很宝贵,尽量不要浪费在低效率事情上。此时,就可以介绍今天的主角了,cpolar,内网穿透利器。它可以把内网服务器变成公网上可以访问。只输入一行命令就可以搞定。不论你在何处,用户在何处,一键上公网,非常的方便。接下来,我们就实战一下。
前期准备
- 注册一个cpolar帐号 (必要)
- 下载cpolar客户端(必要)
- 准备一个Web测试网站程序包(可选) 它用来模拟在本机跑着的测试Web站点
注册cpolar帐号
1.去 www.cpolar.com 官网注册一个帐号
2.注册成功后,会自动登录到用户后台界面
下载cpolar客户端
下载地址:/download/ 根据自己的本机操作系统,下载指定的客户端,后台界面里列出了9种不同平台的客户端可供下载,包括WINDOWS、Linux、MAC、还有ARM平台(这说明树莓派也有机会,^^)。下载客户端到本地后,解压缩,解压后得到一个cpolar的命令行客户端。在Linux或OSX上,您可以使用以下命令从终端解压缩cpolar。在Windows上,只需双击cpolar.zip即可。
配置客户端token认证令牌
复制你后台的认证串命令,然后在本机的命令行窗口执行。(注意authtoken串的完整) ①首先将解压文件夹放入软件盘。
②在当前目录输入cmd,点击回车键。
③进入命令行模式,我们发现会直接进入安装目录,不用cd进入。
④安装认证令牌
它执行完后,并没有真正访问服务器端认证,而是保存了authtoken串到默认创建的配置文件中。默认配置文件路径:在你当前用户目录下.cpolar\cpolar.yml,以后你可以增加配置项,让你更加方便的调试,现在不用管。Windows系统中如下图:
温馨提示:
在命令行模式输入cpolar,然后回车,系统会自动提示常用命令。[由于软件版本更新,命令可能会过时,网上的博客会误导我们,以这里为主]
运行cpolar客户端,模拟连接本机的8080端口。
Copy 这时候我们还没有启动内网Web站点,所以8080端口上没有任何东西,执行它的目的是测试一下cpolar客户端连接服务器认证是否正常。连接后,可以看到命令行的连接状态,如果是online状态,则为正常。如果是其它状态,例如:reconnect,则可能是认证串填写不对,请重新检查执行第7步。上图可以看到Tunnel status显示online,就是正常连接,cpolar服务器会分配一个随机域名。可以http访问,也可以https访问。
正常连通后,按CTRL+C结束客户端。
下载Web示例站点
1.测试Web站点,是一个TODO List待办清单示例站点,它的最终的效果图:
2. 根据你的操作系统平台,下载相应的示例Web站点程序:示例WEB站点程序部署环境 下载地址 WINDOWS 64位 32位。
3.这个Web测试站点程序就是一个文件,在命令行下的单一程序,简单,直接运行就可以。
1.下载示例站点后,本地解压缩,然后双击执行。
运行成功后,会有如下提示。
4.打开浏览器,输入网址:http://localhost:8080,打开测试站点。
如上图所示,说明本地内网测试站点,已经搭建成功!接下来,我们利用cpolar,将这个内部站点,发布到公网。
连接cpolar客户端到内网测试站点
1.在命令行输入
2.我们访问cpolar的本地管理页面
3. 复制命令行窗口中的cpolar分配的域名链接到浏览器,本示例中的是 https://542d821a.cpolar.io,看看发生了什么?
4. 内部的站点,已经被发布到公网,可以被访问到了。但是作为程序员,好像有种错觉,像是DNS映射在本机一样,这是真的么?赶紧发送这个链接给你远在天边的朋友或客户,一起来验证一下。看看能不能访问得到吧。让他们告诉你,你的新内测网站做得有多棒!
总结
今天我们利用cpolar将自己的本机测试站点公布到了公网上,而没有使用公网服务器部署。以后可以经常发布站点内测版给给客户了。其实cpolar还有更多玩法。例如:
- 微信公众号对接调试,不需要再部署程序,这对于程序员来说,非常方便。
- 远程家里的树莓派。
- 私有云盘公网访问