免费SSL申请并使用Yarp实现支持内网穿透

FastGateway 全新升级指南

🚀 版本亮点

FastGateway 新版本进行了重大架构升级,不再依赖 SQLite 数据库,改为使用轻量级的配置文件管理,同时移除了请求日志记录功能,实现了更加轻量级、高性能的网关解决方案。

✨ 核心功能特性

  • 🌐 内网穿透 - 安全高效的内网服务外网访问
  • 🔄 动态路由代理 - 实时刷新路由配置,无需重启服务
  • 🛡️ 访问控制 - 支持黑白名单机制,精确控制访问权限
  • 🔒 SSL 证书管理 - 免费自动申请和续期 SSL 证书
  • 📁 文件代理 - 单文件静态资源代理服务
  • 💾 文件管理 - 内置服务器文件管理系统
  • ⚡ 流量控制 - 自定义限流策略,保障服务稳定性

📦 Docker 部署指南

环境准备

使用 Docker Compose 快速部署 FastGateway 服务。首先创建 docker-compose.yaml 配置文件:

version: '3.8' services:   fast-gateway:     image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/fast-gateway     container_name: fast-gateway     restart: always     privileged: true     environment:       - TunnelToken:Aa123456.       - PASSWORD:Aa123456.     volumes:       - ./data:/app/data       - ./certs:/app/certs       - /proc/diskstats:/proc/diskstats       - /proc/meminfo:/proc/meminfo       - /proc/stat:/proc/stat     ports:         - "8080:8080"         - "80:80"         - "443:443/udp"         - "443:443/tcp" 

🔧 配置说明

端口配置:

  • 80: HTTP 服务端口
  • 443: HTTPS 服务端口(TCP/UDP 双协议支持)
  • 8080: 管理控制台端口

环境变量:

  • TunnelToken: 内网穿透客户端连接令牌
  • PASSWORD: 管理控制台登录密码

启动服务后,访问 http://your-server:8080 进入管理控制台,使用配置的密码 Aa123456. 进行登录。

免费SSL申请并使用Yarp实现支持内网穿透

🎯 服务配置

登录成功后,进入服务管理页面,点击右上角的「新增服务」按钮:
免费SSL申请并使用Yarp实现支持内网穿透

配置服务监听 80 端口并启用 HTTPS 功能。当在 80 端口启用 HTTPS 时,系统会自动同时监听 443 端口,这是标准 Web 服务的推荐配置。完成配置后点击「保存」按钮。

免费SSL申请并使用Yarp实现支持内网穿透

保存后,点击服务管理菜单中的「启动服务」按钮。服务启动后将同时监听 80 和 443 端口。

SSL 证书配置(可选):
如果您拥有域名,可以通过「证书管理」功能申请免费 SSL 证书。

⚠️ 注意:申请 SSL 证书时必须确保服务正在监听 80 端口,以完成域名验证。

📥 客户端下载

服务启动完成后,即可下载内网穿透客户端进行配置:

免费SSL申请并使用Yarp实现支持内网穿透

🖥️ 内网穿透客户端配置

下载客户端

访问 FastGateway Releases 页面,根据操作系统选择对应的客户端版本。本教程以 Windows 版本为例。

客户端文件结构

下载并解压后,客户端文件包含以下内容:
免费SSL申请并使用Yarp实现支持内网穿透

🔧 配置文件设置

打开 tunnel.json 配置文件,进行客户端参数配置:

{   "Logging": {     "LogLevel": {       "Default": "Information",       "Microsoft.Hosting.Lifetime": "Information"     }   },   // 客户端监听端口   "Port": 1881,   "Token": "Aa123456.",    // 链接网关的协议,如果没有https则使用ws协议    "ServerUrl": "ws://127.0.0.1",   "Name": "FastGateway1",   // 支持h2,ws   "Type": "ws",   // 只有https的时候才需要使用h2,http不能使用h2     "ServerHttp2Support": false,   // 服务端是否支持HTTP/2   "ReconnectInterval": 5000,   // 重连间隔,单位毫秒   "HeartbeatInterval": 30000,   // 心跳间隔,单位毫秒   "Proxy": [     {       // 请求当前服务的host       "Host": "www.cnblogs.com",       // 网关路由匹配         "Route": "/",       // 匹配的域名,注意如果设置了以后只有这个域名才会请求当前配置       "Domains": [],        // 当前本地服务请求的端点        "LocalRemote": "https://www.cnblogs.com/",        // 当前服务名称用于在网关中查看        "Name": "Test Proxy",       "Description": "This is a test proxy",       // 启用当前代理服务       "Enabled": true     }   ] } 

🔑 配置参数说明

连接参数:

  • Token: 必须与服务端 TunnelToken 保持一致
  • ServerUrl: 服务端 WebSocket 连接地址
  • Type: 支持 wsh2 协议(HTTPS 环境推荐 h2)

代理配置:

  • Host: 目标服务的主机地址
  • Route: URL 路径匹配规则
  • Domains: 域名限制(可选)
  • LocalRemote: 实际代理的本地服务地址

🚀 启动客户端

完成配置后,保存文件并打开命令行,执行以下命令启动客户端:

.TunnelClient.exe -c .tunnel.json 

✅ 连接验证

客户端成功连接后会显示连接成功信息。此时可以在网关管理控制台的「节点管理」中查看连接状态:

免费SSL申请并使用Yarp实现支持内网穿透

在节点管理页面中,可以查看所有已注册的客户端节点信息、连接状态和代理规则。

🌐 功能测试

现在可以通过访问服务地址来测试路由代理是否正常工作:

免费SSL申请并使用Yarp实现支持内网穿透

🎉 测试结果

成功访问服务后,可以看到:

  1. 代理成功 - 目标网站(博客园)的内容被正确代理
  2. 请求日志 - 客户端控制台显示详细的请求处理日志
  3. 网关管理 - 可在网关控制台实时监控流量和连接状态

至此,FastGateway 全新版本的部署和配置已经完成,您可以开始使用这个轻量级、高性能的网关解决方案了。
免费SSL申请并使用Yarp实现支持内网穿透

技术探讨

qq群:737776595
wx:wk28u9123456789

项目开源地址:https://github.com/239573049/FastGateway

发表评论

评论已关闭。

相关文章