命令行运行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

相关推荐

  • Windows CMD如何解压多种格式文件?

    系统内置方法(仅支持ZIP格式)使用tar命令(Windows 10/11 推荐):: 解压到当前目录tar -xf "C:\文件路径\压缩包.zip":: 解压到指定目录(目录需存在)tar -xf "C:\文件路径\压缩包.zip" -C "D:\目标文件夹……

    2025年7月4日
    1400
  • Mac如何打开终端?

    在Mac上打开终端的方法: ,1. 打开「启动台」→「其他」文件夹→点击「终端」图标 ,2. 按 Command+空格 打开聚焦搜索,输入”终端”回车 ,3. 进入「访达」→「应用程序」→「实用工具」→双击「终端」 ,启动后即可使用命令行操作。

    5天前
    1000
  • linux中nano编辑器怎么退出?简单快速方法

    要退出nano编辑器:,1. 按 Ctrl + X 尝试退出。,2. 如果文件已修改未保存,会询问是否保存:, * 按 Y 保存(或需输入文件名再回车);, * 按 N 放弃修改退出;, * 按 Ctrl + C 取消退出操作。

    2025年6月12日
    1300
  • MySQL修改上一行命令技巧

    常规键盘操作(推荐首选)方向键上/下在大多数终端(如Linux/macOS的Terminal、Windows的PowerShell/新版CMD)中:按键盘的 ↑ 方向键 调出上一条历史命令(可逐次上翻)按 ↓ 方向键 返回下一条命令按 ← / → 方向键 在行内左右移动光标修改内容快捷键组合Ctrl + P:等……

    2025年7月8日
    1100
  • 修复命令总失败?可能是权限问题

    执行系统修复命令必须使用管理员权限的命令提示符窗口,否则可能因权限不足导致命令失败或无法正常生效。

    2025年6月13日
    1400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信