FastGateway 发布v0.0.0.5
FastGateway 发布v0.0.0.5
- 修复构建错误
- 修复
docker-compose
执行目录 - 修改请求来源分析数据列表展示
- update README.md.
- 增加默认证书
- 修复构建脚本目录错误
FastGateway提供了基本的管理服务,提供简单的登录授权,和实时配置管理,从而实现动态路由的管理。
支持功能
- 登录授权
- 动态路由管理
- 动态配置证书管理
- dashboard监控
- 静态文件服务代理
- 穿透隧道功能
- 出入口流量监控
- 请求来源分析
- 动态插件管理
技术栈
后端技术栈
- Asp.Net 8.0 用于提供基础服务
- Yarp 用于提供反向代理服务
- FreeSql 用于提供数据库服务
- JWT 用于提供登录授权服务
- MiniApis 提供WebApi服务
前端技术栈
- reset-css 用于重置浏览器默认样式
- axios 用于发送http请求
- semi 用于提供基础组件
- react-router-dom 用于路由管理
镜像执行指令
mkdir data
docker run -d --restart always --name gateway-api -p 8000:8000 -p 8200:8080 -p 8300:8081 -v $(pwd)/data:/data/ registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
docker run -d --restart always --privileged --name gateway-web -p 10800:80 -e api_url=http://localhost:8000 registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
Docker-Compose文件
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
restart: always
container_name: gateway-api
environment:
USER: root
PASS: Aa010426.
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081 # Https代理端口
volumes:
- ./data:/data/ # 请注意手动创建data目录,负责在Linux下可能出现权限问题导致无法写入
gateway-web:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
restart: always
build:
context: ../web
dockerfile: Dockerfile
privileged: true
environment:
api_url: http://localhost:8000
ports:
- 10800:80
如果并没有提供账号密码则默认
账号:root
密码:Aa010426.
自带管理界面的docker-compose
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:8.0-admin
restart: always
container_name: gateway-api
build:
context: ../
dockerfile: src/FastGateway/Dockerfile-admin
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081/udp # Https代理端口
- 8300:8081/tcp # Https代理端口 Http3需要开启UDP和TCP,请注意防火墙设置是否允许
volumes:
- ./data:/data/ # 请注意手动创建data目录,负责在Linux下可能出现权限问题导致无法写入
支持HTTP3的docker-compose
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api:8.0-http3
restart: always
container_name: gateway-api
build:
context: ../
dockerfile: src/FastGateway/Dockerfile-http3
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081/udp # Https代理端口
- 8300:8081/tcp # Https代理端口 Http3需要开启UDP和TCP,请注意防火墙设置是否允许
volumes:
- ./data:/data/ # 请注意手动创建data目录,负责在Linux下可能出现权限问题导致无法写入
gateway-web:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
restart: always
build:
context: ../web
dockerfile: Dockerfile
privileged: true
environment:
api_url: http://localhost:8000
ports:
- 10800:80
替换默认的https证书
由于需要使用https,为了方便系统默认提供了一个pfx证书,如果你需要提供的话可以按照以下操作进行,如果是Docker执行的话证书的目录则是 /app/certificates/gateway.pfx
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
restart: always
container_name: gateway-api
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081 # Https代理端口
environment:
USER: root
PASS: Aa010426.
HTTPS_PASSWORD: dd666666
HTTPS_FILE: gateway.pfx
ports:
- 8200:8080
volumes:
- ./data:/data/
- ./app/certificates:/app/certificates
gateway-web:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
restart: always
container_name: gateway-web
privileged: true
environment:
api_url: http://localhost:8000
ports:
- 10800:80
参考上面的docker-compose文件,我们提供了俩个环境变量HTTPS_PASSWORD
,HTTPS_FILE
,
HTTPS_FILE
:
- 在系统中已经指定了容器的
/app/certificates
目录,你只想要挂在目录中的文件名即可
HTTPS_PASSWORD
:
- Pfx证书的密码,如果修改了证书请填写证书的密码。
/app/certificates
:
- 这个是系统证书默认存放目录,如果映射了目录则需要提供自己的证书。
使用隧道
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
restart: always
container_name: gateway-api
environment:
USER: root
PASS: Aa010426.
HTTPS_PASSWORD: dd666666
TUNNEL_PASSWORD: dd666666
HTTPS_FILE: gateway.pfx
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081 # Https代理端口
volumes:
- ./data:/data/
- ./app/certificates:/app/certificates
gateway-web:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
restart: always
container_name: gateway-web
privileged: true
environment:
api_url: http://localhost:8000
ports:
- 10800:80
增加TUNNEL_PASSWORD
环境变量,默认为空不设置密码
下载隧道客户端 https://gitee.com/hejiale010426/Gateway/releases 然后解压压缩包,打开appsettings.json文件修改Tunnel节点的Url,如果Gateway使用了TUNNEL_PASSWORD,那么你的URL应该是https://localhost:8081/api/gateway/connect-h2?host=backend1.app&password=dd666666
,
host
是在集群中的集群端点的域名,这个域名就是定义到我们的隧道客户端的host
的这个参数,请保证值的唯一性,当绑定集群的路由匹配成功以后则会访问图片定义的端点,如果并没有存在节点那么他会直接代理。
出入流量监控
使用环境变量控制是否启用流量监控,使用环境变量ENABLE_FLOW_MONITORING
设置我们是否启用流量监控,如果为空则默认启动流量监控,然后可以打开我们的控制面板查看流量监控的数据。
services:
gateway-api:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
restart: always
container_name: gateway-api
environment:
USER: root
PASS: Aa010426.
HTTPS_PASSWORD: dd666666
HTTPS_FILE: gateway.pfx
ENABLE_FLOW_MONITORING: true
ports:
- 8000:8000 # 提供给web端调用的管理接口
- 8200:8080 # Http代理端口
- 8300:8081 # Https代理端口
volumes:
- ./data:/data/
- ./app/certificates:/app/certificates
gateway-web:
image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
restart: always
container_name: gateway-web
privileged: true
environment:
api_url: http://localhost:8000
ports:
- 10800:80
第三方下载
- ip2region.xdb 用于ip离线归属地
FastGateway 发布v0.0.0.5的更多相关文章
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?
服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...
- SpaceVim 发布 v0.8.0
This project exists thanks to all the people who have contributed. The last release v0.7.0 is target ...
- GraphScope v0.12.0 版本发布
GraphScope 每月进行常规版本的迭代与发布,GraphScope v0.12.0 全新版本在四月如期而至.v0.12.0 为交互式图查询 GAIA 引入全新的 IR 层以及新增 Giraph ...
- LAL v0.32.0发布,更好的支持纯视频流
Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本.距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态. LAL 项目地址:https://github.com/q19120177 ...
- Kurator v0.3.0版本发布
摘要:2023年4月8日,Kurator正式发布v0.3.0版本. 本文分享自华为云社区<华为云 Kurator v0.3.0 版本发布!集群舰队助力分布式云统一管理>,作者:云容器大未来 ...
- Magicodes.NET框架之路——V0.0.0.5 Beta版发布
最近写代码的时间实在不多,而且今年又打算业余学习下Unity3D以及NodeJs(用于开发游戏后台),因此完善框架的时间更不多了.不过我会一直坚持下去的,同时我也希望有兴趣的同学可以加入Push你的代 ...
- terraform v0.12.0 发布了
v0.12.0 相比以前的有好多新的特性,包括语法,以及函数增强,昨天还在折腾的一个json解码的问题,直接使用 v0.12.0 就可以解决了,同时也包含了for 操作处理同时官方文档对于v0.12. ...
- Plink v0.1.0 发布——基于Flink的流处理平台
Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台. 提供常见的作业管理功能.如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配 ...
- 开源社交系统ThinkSNS+ V0.8.0 正式发布(一期功能版本)
智士软件旗下开源sns社交系统ThinkSNS即将进入10周年,推出并行两代系统ThinkSNSV4和ThinkSNS+,以专业易用的技术源码输出,驱动互联网社交软件建设及创业,使用ThinkSNS改 ...
- 分布式边缘容器项目 SuperEdge v0.7.0 版本来袭!
作者 SuperEdge 开发者团队,腾讯云容器中心TKE Edge团队 摘要 SuperEdge是基于原生Kubernetes的分布式边缘云容器管理系统,由腾讯云牵头,联合英特尔.VMware威睿. ...
随机推荐
- [转帖]Linux内核线程kthread简介【最好的一篇!】
https://zhuanlan.zhihu.com/p/581587583 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求).内核需要多个执行流并行,为了 ...
- [转帖]【OS】OSWbb(OSWatcher Black Box)的简介和使用
http://blog.itpub.net/26736162/viewspace-2142613/ OSWatcher Black Box, 简称OSW,是提供的一个小但是非常有用的工具,它通过调用O ...
- 【转帖】Linux中如何取消ln链接?(linuxln取消)
https://www.dbs724.com/163754.html Linux系统使用ln命令可以快速创建链接,ln链接是指把文件和目录链接起来,当改变源时可以快速地改变整个目录下的文件和目录.有时 ...
- [转帖]Redis Scan 原理解析与踩坑
https://www.cnblogs.com/jelly12345/p/16424080.html 1. 概述由于 Redis 是单线程在处理用户的命令,而 Keys 命令会一次性遍历所有 Key, ...
- 【转贴】java 进程运行状态图解
java 进程运行状态图解 原文博客地址 https://www.cnblogs.com/GooPolaris/p/8079490.html java中进程的状态有 6 种: NEW(新建).RU ...
- @Transaction注解的失效场景
作者:京东物流 孔祥东 背景 事情是这样,最近在实现一个需求的时候,有一个定时异步任务会捞取主表的数据并置为处理中(为了防止任务执行时间过长,下次任务执行把本次数据重复捞取),然后根据主表关联明细表数 ...
- echarts api的介绍
参考的地址:https://echarts.apache.org/zh/api.html echarts.init echarts.init(dom?: HTMLDivElement|HTMLCanv ...
- elementUI(datepicker)限制日日期的选择
指定起始日期,后选的将会受到先选的限制 参考地址 https://www.jianshu.com/p/c59c8ef6c500 实现方法不难,利用了 change 事件,动态改变 picker-opt ...
- PHP伪协议与文件包含漏洞
https://www.cnblogs.com/weak-chicken/p/12275806.html 1 file:// - 访问本地文件系统 2 http:// - 访问 HTTP(s) 网址 ...
- 【二】tensorflow调试报错、TF深度学习强化学习教学
相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...