Ocelot è un gateway API open-source implementato in .NET Core, potente e include routing, aggregazione delle richieste, scoperta di servizi, autenticazione, autenticazione, interruttore di corrente limitante e integrazione integrata con load balancer con Service Fabric e Butterfly Tracing. Queste funzioni devono essere semplici da completare, e spiegheremo la configurazione di queste funzioni una per una.
Naturalmente, anche i progetti Java hanno gateway, Spring Cloud Gateway è il nuovo framework gateway di Spring Cloud, precedentemente chiamato Netflix Zuul.
Per prima cosa, crea un progetto vuoto ASP.NET Core 3.1 con il nome: dotnet-gateway-demo
Nuget installa Ocelot con il seguente comando:
Crea due nuovi progetti API asp.net Core 3.1, chiamati rispettivamente web-api-demo1 e web-api-demo2. La struttura della soluzione è la seguente:
Modifica il metodo Get del controller WeatherForecastController dei progetti "web-api-demo1" e "web-api-demo2" con il seguente codice:
Link Demo1: http://localhost:7853/weatherforecast Link Demo2: http://localhost:7863/weatherforecast
Nella directory radice del progetto dotnet-gateway-demo, crea un nuovo file di configurazione "ocelot.json", come segue:
dove l'indirizzo BaseUrl viene completato con l'URL di lancio del progetto corrente,Compila in base alla tua situazione reale。
- DownstreamPathTemplate: Il percorso relativo del servizio downstream
- DownstreamScheme: Lo schema http del servizio a valle
- DownstreamHostAndPorts: L'indirizzo del servizio downstream, se usi LoadBalancer, puoi compilare più campi qui
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Unisciti a CreateHostBuilder di Program.cs
Modifica il file Startup.cs con il seguente codice:
I suoi principali codici sono:
Avvia un progetto startup e avvia 3 progetti web contemporaneamente, come mostrato nella figura seguente:
Una volta completata la configurazione, avvia e, secondo le nostre regole di configurazione, prova ad accedere:Il login del link ipertestuale è visibile.eIl login del link ipertestuale è visibile.Come mostrato di seguito:
Aggiungiamo la seguente configurazione al file ocelot.json, proviamo a fare un reverse proxy di questo sito, la configurazione è la seguente:
Prova a visitare:Il login del link ipertestuale è visibile.
Scarica codice sorgente:
Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
Documentazione di riferimento:Il login del link ipertestuale è visibile.
(Fine)
|