日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

比Nginx更好用的Gateway!

發布時間:2024/1/21 Nginx 36 coder
生活随笔 收集整理的這篇文章主要介紹了 比Nginx更好用的Gateway! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

比Nginx更好用的Gateway!

Token新開源Gateway,使用yarp實現的一個反向代理,支持界面操作動態添加集群添加路由綁定,并且支持動態添加域名綁定https證書,超強yarp+FreeSql+MiniApis純原生接口實現。

功能亮點

  • 在線配置域名證書:實時生效,無需重啟服務。
  • 集群和路由的在線配置:動態添加和修改即時生效。
  • 日志面板:默認提供,方便監控。
  • 擴展性:簡單的功能實現,便于根據業務需求進行擴展。
  • 使用國產ORM FreeSql性能非常的強并且支持AOT
  • 使用最新的MiniApis的方式提供接口管理
  • 新功能逐漸實現中!

項目技術棧

  • .NET 8
  • FreeSql
  • Yarp(微軟開源的代理SDK)
  • React(前端框架)
  • Semi UI框架

快速上手

下面講解以下簡單使用,我們將使用 docker-compose作為我們的容器執行環境,默認是存在docker-compose環境。

創建一個docker-compose.yml文件,使用了一個復雜的compose簡化了我們的操作。

解析參數:

由于打包的鏡像默認是不使用https的我們需要通過環境變量將我們的https使用起來,添加了倆個參數http://*:8080;https://*:8081,USER和PASS設置我們系統的默認的賬號密碼,如果不設置的賬號密碼則賬號:root 密碼:Aa010426.,然后使用映射將我們的數據持久化,默認的db文件會防止在/data目錄下,將目錄持久化即可。

gateway-web是界面的鏡像,由于gateway-api默認是不攜帶界面的只提供基礎接口功能,所以我們需要使用gateway-web的提供界面操作的功能,請注意在gateway-web鏡像必須設置api_url環境變量,這個是設置我們的gateway-api的外網訪問地址。

services:
  gateway-api:
    image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-api
    restart: always
    environment:
      ASPNETCORE_URLS: http://*:8080;https://*:8081
      USER: root
      PASS: Aa010426.
    ports:
      - 8200:8080
      - 8300:8081
    volumes:
      - ./data:/data/

  gateway-web:
    image: registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web
    restart: always
    privileged: true
    environment:
      api_url: http://token-ai.cn:8200
    ports:
      - 10800:80

上面是docker-compose文件,下面提供docker run的指令

docker run -d --restart always \
  --name gateway-api \
  -e ASPNETCORE_URLS=http://*:8080;https://*:8081 \
  -e USER=root \
  -e PASS=Aa010426. \
  -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 \
  -e api_url=http://token-ai.cn:8200 \
  -p 10800:80 \
  registry.cn-shenzhen.aliyuncs.com/tokengo/gateway-web

界面體驗

默認打開訪問地址是會跳轉到登錄界面的,在執行docker容器的時候就需要設置我們的初始賬號密碼,如果并沒有設置也不需要擔心,使用默認賬號密碼即可,

打開了登錄界面我們使用賬號密碼登錄進去,進入首頁會顯示一個日志記錄面板,提供了幾個基礎的模塊,在后面也會根據需要定制這個界面顯示的圖表,下面我們打開我們的代理設置:

代理設置

默認的訪問并沒有提供任何數據,在這里我們可以按照順序來添加我們的數據,點擊右邊的添加集群,然后輸出我們的集群名稱,集群描述可不輸入,但是我們需要添加至少一個我們的集群節點,這個節點其實就是我們需要代理的地址了,比如我們需要將內網的Gitea代理出來,就將我們的Gitea的地址填入到集群端點,如果使用了ip可能需要使用域名則輸入集群host即可,然后點擊添加即可,添加完成以后就打開我們的路由。

路由跟集群也是一樣的默認是沒有數據,我們點擊我們的添加路由,

然后我們將路由的名稱和路由描述填上,然后在這里的路由需要選擇一個集群,這個集群就是在前面我們添加的集群,還有一個路由匹配,這個路由匹配的規則是yarp定義的格則,默認使用{**catch-all}攔截全部,也可以/api/{**catch-all}這樣就可以攔截/api后面所有地址,如果你需要指定一個域名匹配這個路由則添加路由匹配域名,這個是支持多個域名的,輸入您的域名然后回車則可以輸出下一個域名,完成以后我們添加提交,則完成了添加。

當我們添加了我們的路由我們還可以為我們寫的域名提供https證書。

我們打開證書管理,當然在這里初始的時候也是沒有數據的也需要用戶手動添加自己的數據進去,點擊我們的添加證書。

然后輸出證書名稱,證書描述,還有證書綁定的域名請注意這個是絕對匹配的域名默認是不區分大小寫,由于我們使用的是pfx格式(當前版本僅支持pfx)還需要輸入上傳的證書的密碼,然后我們上傳我們的證書。

上面我們操作完成了以后不會立馬生效,我們需要點擊右上角的刷新緩存則路由會立馬生效。

上面點擊完成刷新成功,我們試試看訪問是否能正常使用證書,然后我們訪問了我們代理的地址以后發現并沒有報證書錯誤。

通過上面的步驟我們了解了基本的Gateway的使用,由于時間倉猝我們的功能和界面是非常的簡陋后續我會規劃Gateway的功能,或你有什么建立可以提issue給我們,如果建議不錯我們也可以考慮加入到Gateway當中。

結尾

來自token的Gateway分享

技術交流群:737776595

開源地址

gitee.com
github.com

總結

以上是生活随笔為你收集整理的比Nginx更好用的Gateway!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。