pgrok快速入门:5分钟学会本地服务公网访问

【免费下载链接】pgrok Poor man's ngrok - a multi-tenant HTTP/TCP reverse tunnel solution through SSH remote port forwarding 【免费下载链接】pgrok 项目地址: https://gitcode.com/gh_mirrors/pg/pgrok

pgrok是一款强大的多租户HTTP/TCP反向隧道解决方案,通过SSH远程端口转发技术,让开发者能够轻松将本地服务暴露到公网访问。无论是Web开发测试、API调试还是物联网设备远程管理,pgrok都能提供简单高效的端口映射服务,帮助开发者突破局域网限制,实现全球访问本地服务。

📋 准备工作:环境搭建

在开始使用pgrok前,需要准备以下环境依赖:

  • 基础环境Go (v1.20或更高版本)
  • 包管理pnpm (v8或更高版本)
  • 任务管理Task (v3)
  • 进程管理Overmind (v2)
  • 数据库PostgreSQL (v10或更高版本)

对于macOS用户,可以通过Homebrew一键安装所有依赖:

brew install git go pnpm go-task overmind postgresql@15

🔄 安装步骤:从源码到运行

1. 获取项目代码

首先克隆pgrok仓库到本地:

git clone https://gitcode.com/gh_mirrors/pg/pgrok
cd pgrok

2. 配置文件准备

pgrok提供了示例配置文件,可直接复制使用:

cp pgrok.example.yml pgrok.yml
cp pgrokd.example.yml pgrokd.yml

配置文件主要包含服务端口、认证方式和转发规则等关键参数,默认配置已满足基础使用需求,高级用户可根据实际场景修改pgrok.ymlpgrokd.yml文件。

3. 启动服务

使用Task命令一键启动所有服务组件:

task dev

该命令会启动pgrok服务端和客户端,默认情况下,服务端会监听2222端口(SSH)和8080端口(Web管理界面)。

🌐 基本使用:本地服务公网访问

HTTP服务转发

要将本地8080端口的Web服务暴露到公网,只需执行:

pgrok http 8080

TCP服务转发

对于TCP服务(如数据库、游戏服务器),使用以下命令:

pgrok tcp 3306

执行命令后,pgrok会返回一个公网访问地址,格式类似tcp://pgrok.example.com:12345,通过该地址即可从互联网访问本地服务。

🛠️ 高级配置:自定义域名与HTTPS

配置自定义域名

编辑pgrok.yml文件,添加自定义域名映射:

tunnels:
  web:
    proto: http
    addr: 8080
    hostname: myapp.pgrok.example.com

启用HTTPS

pgrok支持通过Caddy实现HTTPS加密访问。首先安装Caddy:

# 根据系统选择合适的安装方式
# 参考:https://caddyserver.com/docs/install

然后创建Caddyfile配置:

myapp.pgrok.example.com {
  reverse_proxy http://localhost:8080
  tls your@email.com
}

启动Caddy后,即可通过https://myapp.pgrok.example.com安全访问本地服务。

📁 项目结构解析

pgrok项目采用清晰的模块化结构,主要包含以下核心目录:

  • pgrok/cli/:客户端命令行工具实现
  • pgrokd/cli/:服务端命令行工具实现
  • internal/:核心业务逻辑,包括SSH处理、反向代理等
  • docs/:详细文档,包括管理员指南开发指南
  • integration-tests/:集成测试用例

这种结构设计确保了项目的可维护性和扩展性,便于开发者理解和参与贡献。

❓ 常见问题解决

连接失败怎么办?

  1. 检查防火墙设置,确保2222和8080端口已开放
  2. 验证pgrokd.yml中的服务端配置是否正确
  3. 查看日志文件获取详细错误信息

如何实现多用户隔离?

pgrok支持多租户隔离,通过internal/database/模块实现用户认证和权限管理,管理员可在配置文件中设置用户访问规则。

🚀 总结

通过本文介绍的步骤,您已经掌握了pgrok的基本使用方法。从环境搭建到服务部署,pgrok提供了简单高效的本地服务公网访问解决方案。无论是开发测试还是生产环境临时访问,pgrok都能满足您的需求。更多高级功能和配置技巧,请参考项目官方文档

开始使用pgrok,让您的本地服务轻松走向公网!

【免费下载链接】pgrok Poor man's ngrok - a multi-tenant HTTP/TCP reverse tunnel solution through SSH remote port forwarding 【免费下载链接】pgrok 项目地址: https://gitcode.com/gh_mirrors/pg/pgrok

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐