外网访问本地搭建的web服务器【免费内网穿透】

发布于:2022-12-23 ⋅ 阅读:(221) ⋅ 点赞:(0)

教大家一个简单的方法,实现在无公网IP环境下,在本地搭建web服务器,并实现外网远程访问。


使用工具:

1. 搭建本地web服务器

这里直接用phpstudy来搭建web服务器。它是一个PHP调试环境的程序集成包。集成了最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,无须额外的配置就可以使用,非常简单。

  • 直接进入到phpstudy官网下载就可以

在这里插入图片描述

  • 下载成功后,点击一键启动—————WNMP 旁边的启动按钮,会默认启动nginx,MYSQL 5.7。在启动过程中,如有提示防火墙提示,允许即可。

在这里插入图片描述

如下图,说明安装成功。

在这里插入图片描述

到这一步,本地服务器环境已经搭建成功,可以在本地访问,但是还未进行内网穿透,因此还不能在外网访问。

在这里插入图片描述

2. 外网访问本地web服务器

外网访问内网,我们这里用cpolar内网穿透来实现,不需要公网IP,也不用设置路由器,支持http/https/tcp协议,不限制流量,可以免费使用。

2.1 安装cpolar内网穿透

cpolar内网穿透官网:https://www.cpolar.com/

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的cpolar

2.1.1 windows系统

直接下载客户端到本地,解压后双击安装包一路默认安装即可。

2.1.2 linux系统(支持一键自动安装脚本)
  • cpolar 安装(国内使用)
 curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,显示3.2.88.22
cpolar version
  • token认证

登录后台,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx
  • 简单穿透测试,正常生成公网地址
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,正常显示为active
sudo systemctl status cpolar
2.2 映射内网端口

cpolar安装完成后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI

web ui

登录成功进入主界面后,点击左侧仪表盘的隧道管理——创建隧道

  • 隧道名称:可自定义命名,注意不要重复
  • 协议:选择http
  • 本地地址:80(填写你想要映射的内网端口)
  • 域名类型:免费用户选择随机域名,付费用户可以配置固定的二级子域名或者自定义域名
  • 地区:选择China vip

然后点击创建

在这里插入图片描述

2.3 实现外网访问内网web服务器

隧道创建成功后,可以在左侧仪表盘的状态——在线隧道列表,查看到刚刚所创建隧道的公网地址,有两行,一个是http协议,一个是https协议。

在这里插入图片描述

将公网地址复制到浏览器访问即可,实现公网远程访问内网web服务器。

显示如下图灰色的画面,这说明,cpolar已经配置正确,隧道创建成功。只是本地8080端口上,并未发现可用的web站点(因为还没有配置本地Web Server。所以才会显示灰色不可用的画面。如果你本地有正常配置页面,那么就会正常显示出来。)

在这里插入图片描述


需要注意的是,使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会发生变化,对于日常测试开发完全足够,但是如果需要长期访问,建议为其配置固定的公网地址,同时提高带宽,实现更为流畅的访问。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到