Linux系统下搭建ngrok并配置密钥的详细教程
linux搭建ngrok密钥

首页 2024-12-15 11:57:37



Linux环境下高效搭建Ngrok并配置密钥:全面指南 在当今的互联网开发和部署中,反向代理和隧道技术成为了不可或缺的一部分

    特别是在开发实时应用、API调试和跨域通信时,Ngrok作为一种高效、便捷的工具,能够帮助开发者快速建立安全的隧道,将本地服务器暴露给外部网络
推荐工具:linux批量管理工具

    本文旨在详细介绍如何在Linux环境下搭建Ngrok,并配置密钥,以便你能够充分利用这一强大的工具
推荐工具:一键关闭windows 自动更新、windows defender(IIS7服务器助手)

     一、Ngrok简介 Ngrok(通常指Ngrok.io)是一个基于云的反向代理服务,通过提供一个公共URL,将你的本地开发服务器映射到互联网上

    它支持HTTP、HTTPS和WebSocket协议,并且支持自定义域名和TLS/SSL加密,极大地简化了开发和调试流程

    Ngrok尤其适合那些需要实时通信功能的Web应用,如聊天应用、实时数据推送系统等

     二、准备工作 在开始搭建Ngrok之前,你需要确保以下几点: 1.Linux操作系统:本文基于常见的Linux发行版,如Ubuntu、CentOS等

     2.Shell访问权限:你需要有对Linux服务器的Shell访问权限,无论是通过SSH还是直接在服务器上操作

     3.Ngrok账号:前往Ngrok官网注册一个账号,获取免费的API密钥(对于个人和小型项目,Ngrok提供免费的隧道)

     4.基本Linux知识:了解如何执行Shell命令、编辑配置文件等

     三、安装Ngrok Ngrok的安装过程非常简单,主要通过下载预编译的二进制文件来完成

     1.下载Ngrok: 打开你的终端,使用`wget`或`curl`命令下载Ngrok

    假设你使用的是Linux的amd64架构,可以执行以下命令: bash wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip 或者使用`curl`: bash curl -O https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip 2.解压文件: 下载完成后,解压文件: bash unzip ngrok-stable-linux-amd64.zip 解压后会得到一个名为`ngrok`的二进制文件

     3.移动文件到系统路径: 为了方便使用,将`ngrok`文件移动到`/usr/local/bin`目录下(可能需要sudo权限): bash sudo mv ngrok /usr/local/bin/ 4.验证安装: 通过运行以下命令来验证Ngrok是否安装成功: bash ngrok version 如果看到版本信息输出,说明安装成功

     四、配置Ngrok密钥 Ngrok的密钥是连接你的本地服务器和Ngrok云服务的桥梁

    每个Ngrok账号都有一个唯一的API密钥,用于身份验证和隧道管理

     1.获取API密钥: 登录Ngrok官网,进入你的账户设置页面,找到API密钥部分,复制你的API密钥

     2.配置环境变量: 出于安全考虑,不建议将API密钥硬编码到脚本或配置文件中

    最佳实践是将API密钥设置为环境变量

     打开你的Shell配置文件(如`~/.bashrc`或`~/.zshrc`),添加以下行: bash export NGROK_API_KEY=你的API密钥 替换`你的API密钥`为你在Ngrok官网上复制的密钥

    保存文件后,运行以下命令使配置生效: bash source ~/.bashrc 如果你使用的是bash 或者 source ~/.zshrc 如果你使用的是zsh 3.验证配置: 你可以通过运行以下命令来验证API密钥是否配置成功: bash ngrok auth status 如果看到“Your account is authorized”的提示,说明配置成功

     五、创建和管理隧道 一旦API密钥配置完成,你就可以开始创建和管理隧道了

     1.创建HTTP隧道: 假设你有一个在本地8080端口运行的Web服务器,你可以通过以下命令创建一个HTTP隧道: bash ngrok http 8080 这条命令会启动Ngrok,并在Ngrok的云端为你的本地8080端口创建一个公开的HTTP隧道

    你会在终端中看到类似以下的输出: Session Status online Session Expires 7 hours, 59 minutes and 59 seconds Version2.3.35 Regionus Web Interface http://127.0.0.1:4040 Forwarding http://.ngrok.io -> http://localhost:8080 Forwarding https://.ngrok.io -> http://localhost:8080 Connections ttl opn rtt p50 p90 0 0