Ocelot es una pasarela API de código abierto implementada en .NET Core, que es potente e incluye enrutamiento, agregación de solicitudes, descubrimiento de servicios, autenticación, autenticación, interruptor de corriente limitadora y integración integrada con balanceador de carga con Service Fabric y Butterfly Tracing. Estas funciones solo necesitan ser simples de completar, y explicaremos la configuración de estas funciones una por una.
Por supuesto, los proyectos Java también tienen gateways; Spring Cloud Gateway es el nuevo framework de gateway de Spring Cloud, anteriormente conocido como Netflix Zuul.
Primero, crea un proyecto vacío ASP.NET Core 3.1 con el nombre: dotnet-gateway-demo
Nuget instala a Ocelot con el siguiente comando:
Crear dos nuevos proyectos asp.net API Core 3.1, llamados web-api-demo1 y web-api-demo2, respectivamente. La estructura de la solución es la siguiente:
Modifica el método Get del controlador WeatherForecastController de los proyectos "web-api-demo1" y "web-api-demo2" con el siguiente código:
Enlace demo1: http://localhost:7853/weatherforecast Enlace Demo2: http://localhost:7863/weatherforecast
En el directorio raíz del proyecto dotnet-gateway-demo, crea un nuevo archivo de configuración "ocelot.json", de la siguiente manera:
donde la dirección BaseUrl se rellena con la URL de lanzamiento del proyecto actual,Rellena según tu situación real。
- Plantilla de caminoDownstream: La ruta relativa del servicio downstream
- DownstreamScheme: El esquema http del servicio downstream
- DownstreamHostAndPorts: La dirección del servicio downstream, si usas LoadBalancer, puedes rellenar varios campos aquí
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Únete al CreateHostBuilder de Program.cs
Edita el archivo Startup.cs con el siguiente código:
Sus principales códigos son:
Crear un proyecto inicial y comenzar 3 proyectos web al mismo tiempo, como se muestra en la siguiente figura:
Una vez completada la configuración, lanza y, según nuestras reglas de configuración, intenta acceder a:El inicio de sesión del hipervínculo es visible.yEl inicio de sesión del hipervínculo es visible.Como se muestra a continuación:
Añadimos la siguiente configuración al archivo ocelot.json, intentamos hacer un proxy inverso a este sitio, la configuración es la siguiente:
Intenta visitar:El inicio de sesión del hipervínculo es visible.
Descarga del código fuente:
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
Documentación de referencia:El inicio de sesión del hipervínculo es visible.
(Fin)
|