Api-шлюз производство
У меня есть немного apis и api-gateway перед ними. Это Ocelot, это моя конфигурация в моей локальной среде:
"ReRoutes": [
{
"DownstreamPathTemplate": "/{everything}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 5000
}
],
"UpstreamPathTemplate": "/api1/{everything}",
"UpstreamHttpMethod": [ "Get", "Post" ]
},
API работает как Kestrel. Нет докера. В производственной системе, однако, он должен быть установлен в IIS
Проблема заключается в следующем: в моей среде locan все apis, nad шлюз api работают на localhost, nad имеют порт. Но на сервере они устанавливаются как веб-сайты, так и приложения внутри веб-сайта. поэтому, если адрес веб-сайта - xyz.com, адрес api1 - xyz.com/api1. и это доступно. Я не хочу, чтобы он был доступен, только через шлюз API. Первое, что нужно сделать, это сделать только через API Gateyas.
И вторая проблема, это не работает. Это моя конфигурация на сервере:
"ReRoutes": [
{
"DownstreamPathTemplate": "/Api1Api/{everything}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost", <-- here I tried xyz.com too
"Port": 80
}
],
"UpstreamPathTemplate": "/Api1/{everything}",
"UpstreamHttpMethod": [ "Get", "Post" ]
},
Если я захожу на xyz.com/Api1Api, он работает, но я не хочу, чтобы он работал, но если я захожу на xyz.com/ApiGateway/Api1, он не работает, но я хочу, чтобы он работал оттуда