GithubHelp home page GithubHelp logo

fanslead / reverseproxy.store Goto Github PK

View Code? Open in Web Editor NEW
139.0 6.0 52.0 1.6 MB

yarp用EFCore存储配置,可视化面板配置,支持热更新

License: MIT License

C# 36.66% JavaScript 16.75% HTML 0.23% Vue 44.35% Less 2.00%
yarp aspnet-core

reverseproxy.store's Introduction

ReverseProxy.Store

image image image image image

先看界面

1639733073(1) image

yarp用EFCore存储配置 安裝

Install-Package ReverseProxy.Store.EFCore -Version 2.0.0

或者

dotnet add package ReverseProxy.Store.EFCore --version 2.0.0

分布式同步配置更新 安裝

Install-Package ReverseProxy.Store.Distributed -Version 2.0.0

或者

dotnet add package ReverseProxy.Store.Distributed --version 2.0.0

使用界面

使用说明

先配置数据库链接字符串,然后执行code first还原数据库,然后就可以用了。

appsettings.json加上下面东西,Password是前端登录验证密码(做做样子的233333)

  "ConnectionStrings": {
    "Default": ""
  },
    "Password": "password"

使用ReverseProxy.WebApi

配置

using ReverseProxy.Store.EFCore;
using ReverseProxy.Store.EFCore.Management;
public void ConfigureServices(IServiceCollection services)
{
    services.AddMemoryCache();
    services.AddDbContext<EFCoreDbContext>(options =>
                    options.UseMySql(
                        Configuration.GetConnectionString("Default"),
                        ServerVersion.AutoDetect(Configuration.GetConnectionString("Default")),
                        b => b.MigrationsAssembly("EFCoreSample")));
    services.AddTransient<IClusterManagement, ClusterManagement>();
    services.AddTransient<IProxyRouteManagement, ProxyRouteManagement>();
    services.AddReverseProxy()
            .LoadFromEFCore()
             //.AddRedis("127.0.0.1:6379"); //使用redis同步配置更新
}

然后就可以自己实现业务API管理配置内容啦~~~

启动ReverseProxy.Dashboard

修改public目录下的config.js可以配置请求后端路径,默认如下

const orign = 'http://localhost:5201'
const apiConfig = {
  baseURL: orign
};

reverseproxy.store's People

Contributors

fanslead avatar kasperk81 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

reverseproxy.store's Issues

yarp一些配置问题

大佬 我想问一下 yarp可以实现 向后台服务传递客户端提交的证书或证书指定参数,反向传递证书DN序列、TCP复用,X-FORWORD-FOR源地址透传 这些东西吗

启动错误,数据库还原

您好,打扰了,遇到了几个问题,第一个问题:我下载项目之后 没有还原数据库 直接启动ReverseProxy.Dashboard 项目 报一个错误:The SPA default page middleware could not return the default page '/index.html'",是不是我还原数据库之后 就行了
第二个问题:您说用Code First还原数据库 具体是要怎么操作呢

redis订阅长时间失效

不好意思大佬 我这里现在是把你的这一个订阅发布拆分成了两个项目 一个订阅一个发布 这两个项目中 都用到了你的ReverseProxy.Store.Distributed这个类库 为什么我这两个项目刚开始可以正常发布和订阅 过一阵子之后 我在发布 另一个项目就订阅不到了呢,但是你的项目我发现就不存在这个问题,大佬有了解吗,麻烦了

请教WebSocket的配置

大神好,请教用Yarp转发WebSocket的配置,我的WebSocket用的是SinglR写的,后端Hub的Pattern是"/socket/ws"
我路由配置是这样写的,Yarp应该是没有将路由转发过去,后台应用服务器没有收到前端发送过来的连接请求。
方便抽空指导一下么?感激!!!

  "BackRoute_Production_Socket": {
    "ClusterId": "BackGateway",
    "Match": {
      "Hosts": [ "gateway.pc.com" ], // 我开发环境做的本地DNS解释域名
      "Path": "/{appid}/socket/{**remainder}"
    },
    "Transforms": [
      { "PathPattern": "/v1.0/invoke/{appid}/method/socket/{**remainder}" },  // 应用服务和网关都是用Dapr拉起来的
      {
        "RequestHeader": "Upgrade",
        "Set": "WebSocket"
      },
      {
        "RequestHeader": "Connection",
        "Set": "Upgrade"
      },
      {
        "RequestHeaderOriginalHost": "true"
      },
      { "RequestHeadersCopy": "true" }
    ]
  }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.