命令行运行ngrok的正确姿势?

准备工作

  1. 注册ngrok账户
    访问ngrok官网注册免费账户,获取身份验证令牌(Authtoken),这是安全运行的关键。

  2. 安装ngrok
    Windows系统

    • 下载安装包:https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip
    • 解压到目录(如 C:\ngrok),将路径加入系统环境变量。
      macOS/Linux系统

      curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
      echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
      sudo apt update && sudo apt install ngrok
  3. 身份验证
    在终端执行(替换YOUR_AUTHTOKEN为官网获取的令牌):

    ngrok config add-authtoken YOUR_AUTHTOKEN

命令行运行步骤

基础场景:暴露本地Web服务

假设本地服务运行在端口8000

ngrok http 8000
  • 结果:终端显示公网URL(如 https://a1b2-34-56-78-90.ngrok-free.app),所有流量转发至localhost:8000

高级用法示例

  1. 指定域名/区域(需付费计划)

    ngrok http --domain=your-custom-domain.ngrok.dev 8000
    ngrok http --region=eu 8000  # 选择欧洲服务器
  2. 暴露TCP服务(如数据库)

    ngrok tcp 3306  # 将MySQL默认端口3306暴露到公网
  3. 带身份验证的隧道

    ngrok http 8000 --basic-auth="user:password"  # 强制访问者输入账号密码

验证运行状态

  1. 命令行窗口显示:
    • 绿色 “Online” 状态表示隧道活跃。
    • Requests 计数实时更新请求量。
  2. 访问本地服务日志,确认收到来自ngrok.io域名的请求。
  3. 打开官网控制台(https://dashboard.ngrok.com/)查看流量分析。

安全注意事项

  1. 限制访问
    ngrok http 8000 --oauth=google  # 仅允许Google账号登录
  2. IP白名单
    ngrok http 8000 --allow-ip=192.168.1.1
  3. 避免敏感服务:勿暴露数据库、SSH等无保护的服务,除非配置额外安全层。

常见问题解决

  • 错误 “session expired”:重新执行 ngrok config add-authtoken 更新令牌。
  • 端口冲突:更换本地端口或使用 --bind-tls=true 指定HTTPS。
  • 连接超时:检查防火墙是否放行ngrok(默认端口 443/tcp)。

通过命令行运行ngrok只需三步:安装 → 认证 → 执行隧道命令,结合访问控制可安全测试Webhook、API或远程服务,定期查阅官方文档获取更新,建议付费计划获取自定义域名和审计功能。

引用说明:操作步骤参考ngrok官方技术文档(2025版),安全建议依据OWASP Web安全测试指南,实践经验来自开发者社区案例(StackOverflow, GitHub Discussions)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6671.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 12:03
下一篇 2025年7月8日 12:27

相关推荐

  • 安全加速SCDN如何保障网络安全与加速效率?

    安全加速SCDN简介在数字化时代,网络攻击和数据泄露事件频发,企业对安全性与访问速度的需求日益迫切,安全加速SCDN(Secure Content Delivery Network)应运而生,它将传统CDN的内容分发能力与网络安全防护功能深度融合,为用户提供高速、稳定的访问体验,同时有效抵御各类网络威胁,本文将……

    2025年11月24日
    5200
  • 怎么打开电脑命令提示符?

    命令提示符(Command Prompt,简称CMD)是Windows操作系统中基于字符界面的命令解释工具,通过输入特定指令可执行系统管理、网络诊断、文件操作等任务,是IT人员和电脑爱好者常用的工具,打开命令提示符的方法多样,适用于不同Windows版本和操作场景,以下是详细说明:基础操作类方法(适合普通用户……

    2025年8月28日
    8200
  • 如何用Linux快速生成AWR报告?

    在Linux环境下进行数据库性能调优时,AWR(Automatic Workload Repository)报告是不可或缺的工具,AWR报告由Oracle数据库自动生成,提供了详细的系统性能数据,包括负载概况、SQL执行统计、等待事件分析等,帮助DBA快速定位性能瓶颈,本文将详细介绍在Linux系统中生成AWR……

    2025年11月28日
    5300
  • 安全助手监控画面如何实现全方位实时守护家庭安全?

    在现代社会,安全已成为人们生活中不可忽视的核心需求,无论是家庭、社区还是企业,对安全防护的要求都随着技术进步不断提升,而“安全助手监控画面”作为现代安防体系的重要组成部分,正以其直观、实时、智能的特性,成为守护安全的第一道防线,它不仅是记录事件的“眼睛”,更是主动预警、快速响应的“大脑”,为构建全方位安全网络提……

    2025年11月15日
    5700
  • 如何将file.log修改时间设为2025年元旦?

    touch命令在Linux和Unix系统中用于修改文件的时间戳(访问时间、修改时间),或创建新文件,其中-d选项(或–date)允许用户自定义时间戳,而非默认的当前时间,下面详细介绍其用法:-d选项的核心作用通过-d,可指定任意日期/时间格式,精确控制文件的时间戳,语法如下:touch -d "时间……

    2025年7月30日
    7500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信