跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScript大前端

零成本使用 ngrok 将前端项目暴露至公网

介绍一种零成本方案,通过 ngrok 工具仅穿透前端即可实现内网个人项目的公网访问。步骤包括注册 ngrok 账号获取 Authtoken,根据前端框架(如 Vite+React 或 Umi Max)配置允许主机和代理请求,最后运行 ngrok 命令启动隧道。用户复制生成的 HTTPS 地址即可分享项目,无需购买服务器或配置域名解析。

咸鱼开飞机发布于 2026/4/5更新于 2026/10/25113 浏览

零成本使用 ngrok 将前端项目暴露至公网

开发个人项目时,想让他人访问往往需要购买服务器、配置域名解析,成本高且流程繁琐。

本文介绍一种零成本方案 —— 仅穿透前端即可实现内网个人项目的公网访问。

ngrok 账号注册与工具准备

首先在 https://ngrok.com/ 官网注册一个账号,就能获得一个免费的 dev 结尾的域名。

注册好之后,下载对应的 zip 压缩包

文章配图

在官网个人后台 / 仪表盘(Dashboard)可直接复制个人专属的 Authtoken。

分框架适配配置

如果前端是用 Vite + React 的项目,需要在 vite.config.js 文件加上 allowedHosts 这一行代码:

// vite.config.js
export default defineConfig({
  server: {
    allowedHosts: ['xxx.dev'], // ngrok 域名
  },
});

如果前端是基于 Umi Max + Ant Design Pro 的项目,前端默认是跑在 localhost:8000(umi dev),则需要修改 2 个文件。

1.config/config.ts

在文件里加上如下 proxy 部分:

// config/config.ts
export default defineConfig({
  // ... 其他配置 ...
  proxy: {
    '/api/': {
      target: 'http://localhost:[项目后端的端口号]',
      changeOrigin: true,
      // 根据后端实际路由决定是否 rewrite
      // 如果后端接口路径就是 /api/xxx 开头 → 不要 rewrite
      // 如果后端是 /user/xxx(无 /api 前缀) → 加下面这行
      // pathRewrite: { '^/api': '' },
    },
  },
  // ... 其他配置 ...
});

这段只在 / 时生效。

umi dev
npm run dev

2.src/app.tsx

找到 request 配置,把 baseURL 相关全部注释或删除:

// src/app.tsx
export const request: RequestConfig = {
  // !!! 下面这整段注释掉或删除 !!!
  // baseURL: "http://localhost:[项目后端的端口号]",
  // 保持这两个(ngrok 警告页绕过 + cookie 跨域)
  withCredentials: true,
  headers: {
    'ngrok-skip-browser-warning': 'true',
  },
  ...errorConfig,
};

项目启动与公网访问

接下来,依次启动后端和前端,将之前下载好的压缩包解压后直接双击 exe 即可打开命令行,执行以下命令:

ngrok config add-authtoken [YourAuthtoken]
ngrok http [项目前端的端口号]

复制 ngrok 生成的 https 地址,其他人就能够访问你的项目了。

目录

  1. 零成本使用 ngrok 将前端项目暴露至公网
  2. ngrok 账号注册与工具准备
  3. 分框架适配配置
  4. 项目启动与公网访问

更多推荐文章

查看全部
  • 2025 年睿抗机器人开发者大赛 CAIP 编程技能赛本科组国赛解题报告
  • 基于 AIGC 的销讲型直播内容 5 步策划法
  • HTTP 请求方式详解:GET、POST 及其他方法
  • 宇树 G1 人形机器人 VR 遥操与 IL 开发:从 xr_teleoperate 到 unitree_IL_lerobot
  • 本地部署 Wan2.1 视频生成模型与远程访问指南
  • AI 视频生成工具清单及免费说明
  • OpenClaw Dashboard 无法登录:systemd 缺失环境下的网关启动问题
  • VSCode 接入智谱 GLM-4 及自定义大模型配置指南
  • 从后端视角理解前端三基石:HTML、CSS 与 JavaScript
  • Claude Code 在 Java 项目中的 AI 结对编程最佳实践
  • GitHub 日榜热门项目 (2025-11-16)
  • AI 编程实战:使用 TRAE CN 将 MasterGo 设计稿转为前端代码
  • 前端实现视频画中画功能:主窗口与小窗同步控制
  • LangChain 实战:工具调用与结构化输出
  • Qwen-Image-2512 模型 ComfyUI 部署实战与效果分析
  • 零基础学习网络安全技术入门指南
  • 基于腾讯混元与腾讯云智能体的文思通写作助手构建指南
  • Linux 匿名管道通信:原理、代码与底层机制详解
  • 重构建议 Prompt 提升代码可读性实战指南
  • 基于 MATLAB 的 26 连通域三维 A*算法无人机导航与路径规划

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online