Ocelot中文文檔-入門

原文: Ocelot中文文檔-入門

Ocelot只能用於.NET Core,目前是爲netcoreapp2.0構建的,這個文檔可能會幫你瞭解Ocelot是否適合你。html

.NET Core 2.0

安裝NuGet包nginx

使用nuget安裝Ocelot和它的依賴。你須要建立一個netcoreapp2.0的項目並安裝Ocelot包。而後按照下面的配置部分啓動並運行。json

Install-Package Ocelotapi

全部版本能夠在這裏找到。app

配置ui

下面是個很簡單的ocelot.json。它不作任何事情,可是能夠上Ocelot啓動了。url

{
    "ReRoutes": [],
    "GlobalConfiguration": {
        "BaseUrl": "https://api.mybusiness.com"
    }
}

這裏最重要的就是BaseUrl了。Ocelot須要知道它正在運行的URL,以便頭部查找和替換以及一些管理配置。設置此URL時,它應該是客戶端將看到的Ocelot運行的外部URL。例如,假如你在容器中運行Ocelot的url是http://123.12.1.1:6543,可是在它前面有像nginx同樣的代理在響應https://api.mybusiness.com。在這種狀況下Ocelot的BaseUrl應該是https://api.mybusiness.com命令行

若是因爲某種緣由你使用的是容器,而且但願Ocelot在http://123.12.1.1:6543上響應客戶端,那麼你能夠這樣作,但若是你正在部署多個Ocelot,你可能會但願經過某種腳本在命令行上傳遞它。 但願您使用的任何調度程序均可以傳遞這個IP。代理

程序code

而後在你的Program.cs中,你會想要如下內容。主要就是AddOcelot()(添加ocelot服務),UseOcelot().Wait()(設置全部的Ocelot中間件)。

public class Program
{
    public static void Main(string[] args)
    {
         new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config
                    .SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
                    .AddJsonFile("appsettings.json", true, true)
                    .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true, true)
                    .AddJsonFile("ocelot.json")
                    .AddEnvironmentVariables();
            })
            .ConfigureServices(s => {
                s.AddOcelot();
            })
            .ConfigureLogging((hostingContext, logging) =>
            {
                //add your logging
            })
            .UseIISIntegration()
            .Configure(app =>
            {
                app.UseOcelot().Wait();
            })
            .Build()
            .Run();
    }
}

.NET Core 1.0

原文

相關文章
相關標籤/搜索