内网渗透——macOS上搭建Web服务器

# 公网访问macOS本地web服务器【内网穿透】

文章目录

        • [1. 启动Apache服务器](#1. 启动Apache服务器)
        • [2. 公网访问本地web服务](#2. 公网访问本地web服务)
        • [2.1 本地安装配置cpolar](#2.1 本地安装配置cpolar)
        • [2.2 创建隧道](#2.2 创建隧道)
        • [2.3 测试访问公网地址](#2.3 测试访问公网地址)
        • [3. 配置固定二级子域名](#3. 配置固定二级子域名)
        • [3.1 保留一个二级子域名](#3.1 保留一个二级子域名)
        • [3.2 配置二级子域名](#3.2 配置二级子域名)
        • [4. 测试访问公网固定二级子域名](#4. 测试访问公网固定二级子域名)

以macOS自带的Apache为例,在本地启用apache服务器,并通过cpolar内网穿透将其暴露至公网,实现在公网环境下访问本地web服务。

1. 启动Apache服务器

在macOS上打开终端,执行命令启动Apache服务器,提示Passwod,输入密码

shell 复制代码
sudo apachectl start
shell 复制代码
## Apache常用命令:

## 启动apache:  sudo apachectl start
## 重启apache:  sudo apachectl restart
## 关闭apache:  sudo apachectl stop

浏览器访问localhost(默认80端口),页面正常看到It Works!,表示服务器启动成功,局域网内可正常访问!

2. 公网访问本地web服务

目前web服务只能在局域网内访问,接下来我们使用cpolar内网穿透将本地web服务映射到公网,实现公网用户也可以访问到本地web服务,无需公网IP,也无需设置路由器。

2.1 本地安装配置cpolar

在官网下载下载适用于macOS平台的zip压缩包,解压后得到cpolar,然后通过命令行带参数运行即可。

  • 通过Homebrew包管理器安装
shell 复制代码
brew tap probezy/core && brew install cpolar
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

shell 复制代码
cpolar authtoken xxxxxxx
  • 安装服务
shell 复制代码
sudo cpolar service install
  • 启动服务
shell 复制代码
sudo cpolar service start
  • 登录cpolar web UI管理界面

在浏览器上访问本地9200端口【http://127.0.0.1:9200/】,使用cpolar账号登录。

登录成功后,点击左侧仪表盘的隧道管理------隧道列表,可以看到两条样例隧道(可自行编辑或者删减)

  • ssh隧道:指向本地22端口,tcp协议
  • website隧道:指向本地8080端口,tcp协议
2.2 创建隧道

点击左侧仪表盘的隧道管理------创建隧道,我们来创建一条隧道,将在本地80端口下的web服务映射到公网:

  • 隧道名称:可自定义,注意不要与已有隧道名称重复
  • 协议:http协议
  • 本地地址:80
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

提示隧道创建成功后,页面自动跳转至隧道列表,可以看到刚刚创建成功的tunnel-1隧道,状态active,表示为正常在线,注意无需再次点击启动。

点击左侧仪表盘的状态------在线隧道列表,可以看到tunnel-1隧道已经有生成了相应的公网地址,一个http协议,一个https协议(免去配置ssl证书的繁琐步骤),均可以访问到本地web服务,复制公网地址。

2.3 测试访问公网地址

在浏览器上访问公网地址,测试访问成功,实现公网访问本地web服务。

3. 配置固定二级子域名

由于使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会发生变化,对于需要长期访问的用户不是很方便。为此,我们可以为其配置一个容易记忆的固定二级子域名,同时提高带宽,实现更为流畅的访问。

注意需要将cpolar套餐升级至基础套餐或以上。【cpolar.cn已备案】

3.1 保留一个二级子域名

登录cpolar官网后台,点击左侧的预留,找到保留二级子域名:

  • 地区:选择China VIP
  • 二级域名:可自定义填写
  • 描述:即备注,可自定义填写

点击保留

提示子域名保留成功,复制所保留的二级子域名

3.2 配置二级子域名

访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名,本例为test01

点击更新

提示更新隧道成功,点击左侧仪表盘的状态------在线隧道列表,可以看到公网地址已经更新为保留成功的二级子域名,将其复制下来。

4. 测试访问公网固定二级子域名

在浏览器上访问固定二级子域名,测试访问成功,现在该公网地址不会随机变化了。

如果您想要使用自己的域名来访问本地web服务,cpolar也支持该项功能,详细可以参考下一篇文章教程:

  • 为本地web服务配置自己的域名
相关推荐
j7~11 分钟前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
猫咪宝妖12 分钟前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全
分布式存储与RustFS33 分钟前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
朋友圈自动点赞工具35 分钟前
Gmail 委托邮箱在手机上关不掉
macos·智能手机·cocoa·硬件评测
泡海椒43 分钟前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qq_3945620043 分钟前
【在Linux上升级nginx】
linux·服务器·nginx
默_笙1 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
YIAN1 小时前
从跨域代理到 WebSocket:梳理前端实时通信的底层逻辑与完整实践
前端·websocket
一曲终散1 小时前
创建 SVG 图标预览页面:从零实现到解决 CORS 问题
前端
丸子君君1 小时前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机