FastGateway 管理端

FastGateway提供了基本的管理服务,提供简单的登录授权,和实时配置管理,从而实现动态路由的管理。


文档语言: English | 简体中文

支持功能

  • 登录授权
  • 自动申请HTTPS证书
  • 自动续期HTTPS证书
  • dashboard监控
  • 静态文件服务
  • 单服务代理
  • 集群代理
  • 请求来源分析
  • 支持yaml导入导出
  • 支持自定义限流策略
  • 支持黑白名单

技术栈

后端技术栈

  • Asp.Net 8.0 用于提供基础服务
  • Yarp 用于提供反向代理服务
  • FreeSql用于提供数据库服务
  • JWT 用于提供登录授权服务
  • MiniApis 提供WebApi服务

前端技术栈

  • reset-css 用于重置浏览器默认样式
  • semi 用于提供基础组件
  • react-router-dom 用于路由管理

快速运行Gateway

  1. docker run -d --restart=always --name=gateway-api -e PASSWORD=Aa123456 -p 8080:8080 -p 80:80 -p 443:443 -v $(pwd)/data:/data/ registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0

Docker-Compose文件

  1. services:
  2. gateway-api:
  3. image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0
  4. restart: always
  5. container_name: gateway-api
  6. environment:
  7. PASSWORD: Aa123456
  8. ports:
  9. - 8080:8080 # 提供给web端调用的管理接口
  10. - 80:80 # Http代理端口
  11. - 443:443 # Https代理端口
  12. volumes:
  13. - ./data:/data/
  14. - ./certs:/app/certs/

如果并没有提供密码则默认

密码:Aa123456

支持HTTP3的docker-compose

  1. services:
  2. gateway-api:
  3. image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0-h3
  4. restart: always
  5. container_name: gateway-api
  6. environment:
  7. PASSWORD: Aa123456
  8. ports:
  9. - 8080:8080 # web管理端
  10. - 80:80 # Http代理端口
  11. - 443:443/udp # Https代理端口
  12. - 443:443/tcp # Https代理端口 Http3需要开启UDP和TCP,请注意防火墙设置是否允许
  13. volumes:
  14. - ./data:/data/
  15. - ./certs:/app/certs/

Linux使用systemd启动服务

下载Linux压缩包,然后解压程序,使用nano创建fastgateway.service

  1. nano /etc/systemd/system/fastgateway.service

填写以下内容的时候记得替换配置

  1. [Unit]
  2. Description=FastGateway
  3. [Service]
  4. WorkingDirectory=你解压的目录
  5. ExecStart=/usr/bin/dotnet 你解压的目录/FastGateway.dll
  6. Restart=always
  7. # Restart service after 10 seconds if the dotnet service crashes:
  8. RestartSec=10
  9. KillSignal=SIGINT
  10. SyslogIdentifier=dotnet-fastgateway
  11. User=www-data
  12. Environment=ASPNETCORE_ENVIRONMENT=Production
  13. [Install]
  14. WantedBy=multi-user.target

接下来,重新加载 systemd 以使新的服务单元文件生效:

  1. systemctl daemon-reload

现在你可以启动服务了:

  1. systemctl start fastgateway.service

要使服务在系统启动时自动启动,请启用它:

  1. systemctl enable fastgateway.service

你可以使用下命令检查服务的状态:

  1. systemctl status fastgateway.service

如果你需要停止服务,可以使用:

  1. systemctl stop fastgateway.service

如果你对服务做了更改并需要重新加载配置,可以重新启动服务:

  1. systemctl restart fastgateway.service

镜像列表

  • 默认镜像:registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0
  • 提供HTTP3镜像:registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0-h3
  • ARM64镜像:registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:v1.0.0-arm64

第三方下载