У меня есть несколько 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.
И второй вопрос, он не работает.Это моя конфигурация на сервере:
"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, он не работает, но я хочу, чтобы он работал оттуда