对于开发人员来说,如果每次都将项目部署到公网的服务器,才可以实现外网访问,这样太麻烦了。所以我每次都是做内网穿透来实现外网访问,以本地电脑做服务器,将内网端口映射到公网,生成公网地址来访问,比较简单。
内网穿透工具,我采用的是cpolar内网穿透,支持http/https/tcp协议,不限制流量,也不需要公网IP,不用进入到路由器设置,可以永久免费使用。不过免费使用所生成的是随机临时的公网地址,每隔24小时就会变化,但是临时测试使用足够了。当然,你也可以升级套餐配置固定的公网地址,增大带宽,使用更多功能,cpolar支持21天退款保证。
1. 安装cpolar内网穿透工具
cpolar内网穿透官网:cpolar – 安全的内网穿透工具
需要先注册一个cpolar账号,后面会用到。
1.1 Windows
windows系统可以在cpolar官网下载最新的安装包,然后解压默认安装即可。
1.2 Linux
linux系统支持一键自动安装脚本
1.2.1 安装
- 国内使用
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 国外使用
curl -sL https://git.io/cpolar | sudo bash
1.2.2 向系统添加服务
sudo systemctl enable cpolar
1.2.3 启动服务
sudo systemctl start cpolar
1.2.4 查看服务状态
sudo systemctl status cpolar
如正常显示active,则说明已经启动成功。
1.3 macOS
在官网下载下载适用于macOS平台的zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。
1.3.1 通过Homebrew包管理器安装
brew tap probezy/core && brew install cpolar
1.3.2 token认证
登录cpolar官网后台————验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
1.3.2 安装服务
sudo cpolar service install
1.3.2 启动服务
sudo cpolar service start
2. 创建隧道映射内网端口
cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI管理界面。
登录成功后,进入主界面
比如,我们需要将本地8080端口下的web站点发布到公网可访问,只需要点击左侧仪表盘的隧道管理————创建隧道,输入隧道信息,然后点击创建即可。
- 隧道名称:可自定义,注意不要重复
- 协议:选择http协议
- 本地地址:填写8080端口
- 域名类型:选择随机域名(可免费使用)
- 地区:选择China VIP
隧道创建成功后,可以在隧道管理————隧道列表查看隧道状态,如为active激活。说明已经启动成功。
cpolar会默认安装两个样例隧道,一个是Website隧道指向http 8080端口,一个是ssh隧道(Linux&macOS系统)/远程桌面隧道(win系统),指向tcp 22端口/tcp 3389端口。
3. 获取公网地址
点击左侧仪表盘的状态————在线隧道列表,找到我们刚刚创建的隧道,可以看到有生成相应的公网URL地址,有两行,其中一个是http隧道,一个是https隧道。
将公网地址复制到浏览器访问即可,实现公网远程访问内网。
显示如下图灰色的画面,这说明,cpolar已经配置正确,隧道创建成功。只是本地8080端口上,并未发现可用的web站点(因为还没有配置本地Web Server。所以才会显示灰色不可用的画面。如果你本地有正常配置页面,那么就会正常显示出来。)