内网穿透,可以有多种方式实现:
比较常见是第三种方式,不需要自己搭建服务,也不用去申请公网IP、设置路由器,不论是本地开发测试,还是远程访问都支持,随时可用。
我一直用的内网穿透工具是cpolar
,可以永久免费使用
,不限制流量
,支持http/https/tcp协议
,无需公网IP
,使用也非常简单,访问端无需额外配置。
cpolar内网穿透官网:https://www.cpolar.com/
需要先注册一个cpolar账号,后面会用到
windows系统可以在cpolar官网下载最新的安装包,然后解压默认安装即可。
linux系统支持一键自动安装脚本
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
curl -sL https://git.io/cpolar | sudo bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
如正常显示active
,则说明已经启动成功。
cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI管理界面。
登录成功后,进入主界面
比如,我们需要将本地80端口下的web站点发布到公网可访问,只需要点击左侧仪表盘的隧道管理
————创建隧道
,输入隧道信息,然后点击创建即可。
http
协议80
端口随机域名
(可免费使用)China VIP
隧道创建成功后,可以在隧道管理
————隧道列表
查看隧道状态,如为active
激活。说明已经启动成功。
cpolar会默认安装两个样例隧道
点击左侧仪表盘的状态
————在线隧道列表
,找到我们刚刚创建的隧道,可以看到有生成相应的公网URL地址,有两行,其中一个是http隧道,一个是https隧道。
将公网地址复制到浏览器访问即可,实现公网远程访问内网web站点。如果你本地有正常配置页面,那么就会正常显示出来。
PS:需要注意的是,由于这次使用的是免费的cpolar,所以生成的公网地址为随机临时地址,24小时内发生变化,带宽为1M,不过简单的开发测试也能够满足。
如果需要长期远程访问,建议设置固定的公网地址(配置cpolar二级子域名或者使用自己的域名),地址不再随机变化,详细可以参考以下配置:
将cpolar升级至基础套餐或以上,支持配置固定的二级子域名。
登录cpolar官网后台,点击左侧仪表盘的预留
,我们来为web站点保留一个二级子域名。
本例保留一个名称为ToDoList
的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。
在浏览器上访问127.0.0.1:9200,登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理
——隧道列表
,找到需要配置二级子域名的隧道(本例中为website隧道),点击右侧的编辑
修改隧道信息,将二级子域名配置到隧道中:
二级子域名
ToDoList
)修改完成后,点击更新
隧道更新成功后,点击左侧仪表盘的状态
——在线隧道列表
,可以看到website隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。
打开浏览器,我们来测试一下访问配置成功的二级子域名。
测试成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。以及还可以配置使用自己的域名来访问内网网站。