.net core Ocelot使用方法及作用(一)

Ocelot网关的作用:

接收请求,转发请求Consul,找到服务获取数据后将数据传递回去。这样的好处在于避免服务地址直接暴露,更加安全

网关是一个独立进程,所以需要单独创立一个Api程序。

首先是安装nuget包:Ocelot

修改startup.cs

将Configure()里面的内容注释掉,加上

app.UseOcelot();

再将ConfigureServices内容注释掉,加上

services.AddOcelot();

然后,添加配置文件configuration.json,按需求配置,简单实例:(注意:新版本已经将根节点ReRoutes改成了Routes,可能会报错)

//**************************************单地址********************************
{
  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/api/{url}", //服务地址
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 5726 //服务端口
        }
      ],
      "UpstreamPathTemplate": "/T5726/{url}", //网关地址
      "UpStreamHttpMethod": ["Get","Post"]

    } 
  ]
}

然后将默认的配置文件指定为configuration.json

将Program.cs里的CreateHostBuilder添加

.ConfigureAppConfiguration(conf =>
            {
                conf.AddJsonFile("configuration.json", optional: false, reloadOnChange: true);  //改配置
            })

记得将configuration.json的属性改为 始终复制到输出路径

直接运行,调用localhost:{yourport}/T5726/{yourservice},就可以跳转到localhost:5726/api/{yourservice}

记录编程的点滴,体会学习的乐趣
原文地址:https://www.cnblogs.com/AduBlog/p/14100341.html