当前位置:首页 > VUE

vue实现内网穿透

2026-03-09 13:01:46VUE

使用 ngrok 实现 Vue 项目内网穿透

ngrok 是一个简单易用的内网穿透工具,可以将本地服务暴露到公网。

  1. 下载并安装 ngrok
    访问 ngrok 官网,注册账号并下载对应操作系统的客户端。

  2. 启动本地 Vue 开发服务器
    确保 Vue 项目已启动,默认运行在 http://localhost:8080(或其他端口)。

    npm run serve
  3. 运行 ngrok 暴露本地端口
    在终端运行以下命令,将本地端口映射到公网:

    ngrok http 8080

    运行后会生成一个公网 URL(如 https://xxxx.ngrok.io),通过该 URL 即可访问本地 Vue 项目。

  4. 配置自定义域名(可选)
    如果需要固定域名,可在 ngrok 官网购买并配置自定义域名。

使用 frp 实现内网穿透

frp 是一个高性能的反向代理工具,适合自建内网穿透服务。

  1. 准备一台公网服务器
    需要一台具有公网 IP 的服务器作为 frp 服务端(如云服务器)。

  2. 部署 frp 服务端
    下载 frp 并编辑服务端配置文件 frps.ini

    [common]
    bind_port = 7000

    启动服务端:

    ./frps -c frps.ini
  3. 配置本地 frp 客户端
    编辑客户端配置文件 frpc.ini

    [common]
    server_addr = 公网服务器IP
    server_port = 7000
    
    [vue]
    type = http
    local_port = 8080
    custom_domains = 自定义域名或服务器IP

    启动客户端:

    ./frpc -c frpc.ini
  4. 通过公网访问
    通过配置的域名或服务器 IP 访问本地 Vue 项目。

使用 Cloudflare Tunnel 实现内网穿透

Cloudflare Tunnel 无需公网 IP,直接通过 Cloudflare 的全球网络暴露本地服务。

  1. 安装 Cloudflare CLI
    运行以下命令安装:

    npm install -g @cloudflare/cloudflared
  2. 登录并创建 Tunnel
    登录 Cloudflare 账号并创建 Tunnel:

    cloudflared tunnel login
    cloudflared tunnel create 隧道名称
  3. 配置 Tunnel
    编辑配置文件 config.yml

    tunnel: 隧道ID
    credentials-file: 凭证文件路径
    ingress:
      - hostname: 自定义域名
        service: http://localhost:8080
  4. 启动 Tunnel
    运行以下命令启动:

    cloudflared tunnel run 隧道名称
  5. 通过域名访问
    在 Cloudflare DNS 中配置域名解析,即可通过域名访问本地 Vue 项目。

使用本地 IPv4 地址临时测试

如果仅需局域网内访问,可直接使用本地 IP 地址。

  1. 获取本地 IPv4 地址
    在终端运行:

    ipconfig (Windows) 或 ifconfig (Linux/macOS)

    找到本地 IPv4 地址(如 192.168.x.x)。

  2. 启动 Vue 项目并允许局域网访问
    修改 vue.config.js,添加 host: '0.0.0.0'

    module.exports = {
      devServer: {
        host: '0.0.0.0',
        port: 8080
      }
    }
  3. 局域网访问
    同一局域网内的设备可通过 http://本地IP:8080 访问项目。

    vue实现内网穿透

以上方法可根据需求选择,ngrok 适合快速测试,frp 适合自建服务,Cloudflare Tunnel 适合无公网 IP 的场景。

标签: 内网vue
分享给朋友:

相关文章

vue实现聊天功能

vue实现聊天功能

Vue 实现聊天功能的基本步骤 安装必要依赖 使用 Vue CLI 创建项目后,安装 socket.io-client 或 vue-socket.io 实现实时通信,或基于 HTTP 的 axios…

vue 方法实现

vue 方法实现

在 Vue 中,方法的实现通常通过 methods 选项完成。以下是 Vue 方法实现的核心要点和示例: 基本方法定义 在 Vue 组件中定义方法时,需将函数声明放在 methods 对象内。这些方…

vue 实现权限

vue 实现权限

Vue 实现权限控制的方法 在 Vue 项目中实现权限控制通常涉及前端路由、组件和按钮级别的权限管理。以下是几种常见的实现方式: 路由权限控制 通过路由守卫实现权限验证,过滤用户无权访问的路由:…

vue实现suspense

vue实现suspense

Vue 3 中实现 Suspense Suspense 是 Vue 3 引入的一个内置组件,用于处理异步依赖的加载状态。它允许在等待异步组件或异步数据加载时显示一个后备内容(fallback),直到异…

vue实现定位

vue实现定位

Vue 中实现定位的方法 在 Vue 中实现定位可以通过以下几种方式: 使用 CSS 定位 通过 CSS 的 position 属性实现定位,Vue 中可以直接在组件的 <style>…

vue 实现筛选

vue 实现筛选

实现筛选功能的基本方法 在Vue中实现筛选功能通常涉及以下几个核心步骤: 数据绑定与筛选逻辑 使用v-model绑定筛选条件到Vue实例的数据属性,结合计算属性实现动态筛选: data() {…