微信公众号开发、本地搭建web服务器,或者在本地服务器搭建了IIS或apache等web网站时,需要解决80端口映射的问题。
但很多人在路由器映射80端口的时候,会出现映射失败的情况。造成这种情况的原因有很多种,比较常见的是被运营商屏蔽了,使用需要找运营商备案才可以。也有可能不是真实的公网IP,一样会出现映射失败的情况。
针对这种情况,不论是有公网IP还是没有公网IP,都可以使用内网穿透工具绕过运营商的端口封锁,通过公网服务器进行流量转发,实现外网访问内网80端口。
我一直在用的是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
登录cpolar官网后台————验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
如正常显示active
,则说明已经启动成功。
在官网下载下载适用于macOS平台的zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。
brew tap probezy/core && brew install cpolar
登录cpolar官网后台————验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
sudo cpolar service install
sudo cpolar service start
cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI管理界面。
登录成功后,进入主界面,点击左侧仪表盘的隧道管理
————创建隧道
,输入隧道信息,然后点击创建即可。
http
协议80
端口随机域名
(可免费使用)China VIP
隧道创建成功后,可以在隧道管理
————隧道列表
查看隧道状态,如为active
激活。说明已经启动成功。
cpolar会默认安装两个样例隧道(可以进行修改或删减):
创建隧道映射内网端口,也可以通过执行命令来实现
cpolar http 80
点击左侧仪表盘的状态
————在线隧道列表
,找到我们刚刚创建的隧道,可以看到有生成相应的公网URL地址,有两行,其中一个是http隧道,一个是https隧道。
将公网地址复制到浏览器访问即可,实现公网远程访问内网。
显示如下图灰色的画面,这说明,cpolar已经配置正确,隧道创建成功。只是本地8080端口上,并未发现可用的web站点(因为还没有配置本地Web Server。所以才会显示灰色不可用的画面。如果你本地有正常配置页面,那么就会正常显示出来。)
需要注意的是,使用免费的cpolar内网穿透所生成的公网地址为随机临时地址,24小时内会发生变化,并且带宽较小,只有1M,对于本地开发测试来说是足够的,但是如果需要长期远程访问则不是很方便。
不过我们可以为其配置固定的二级子域名(该地址不会随机变化)同时带宽也会提高,使用更多功能。详细可以参考下面这篇文章教程: