Я новичок в API шлюзах и у меня вопрос понимания.Я тоже пытаюсь поставить ряд (микро) сервисов за конечной точкой.
Для этой цели я установил основное приложение ASP.NET и добавил пакет ThreeMammals Ocelot .С помощью документации я настроил Up- и Downstreams.Пока все хорошо.
Клиент делает запрос на http://mygateway:4242/s1/{api} и, например, получает ответ JSON или XMLот Service1, как и ожидалось.
То же самое поведение для http://mygateway:4242/s2/{api} с ожидаемым результатом!
Моя проблема понимания с Service3.Когда я отправляю запрос на http://mygateway/s3/,, я получаю index.html в качестве ответа.
Самому index.html требуется CSS-файл 'xyz.css' через link-tag и принудительно запускается клиентзагрузить файл.
<head>
<link rel="stylesheet" type="text/css" href="xyz.css">
</head>
URL-адрес запроса, который клиент отправляет на «mygateway», в этом случае равен http://mygateway:4242/xyz.css, а не http://mygateway:4242/s3/xyz.css, поэтому ответное сообщение не является 404найдено, так как "mygateway" ничего не знает о "xyz.css"
Как я могу исправить эту проблему маршрутизации (?)?
Возможно ли решить эту проблему с помощью промежуточного программного обеспечения ocelot?Или мне нужно что-то еще для службы (Service3) с SinglePageApplication (SPA)?
Может быть, просто невозможно или неправильно разместить SPA за шлюзом?Я надеюсь, что вы можете дать мне несколько советов, чтобы получить доступ к веб-сайту SPA или MVC за шлюзом.
Спасибо iBot
UPATE: Прилагается кодindex.html.Я думаю, что это прямо вперед.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Title</title>
<base href="/" />
<link rel="stylesheet" type="text/css" href="dist/xyz.css">
</head>
<body>
<div id="appContainer"></div>
<script src="dist/xyz.js" asp-append-version="true"></script>
</body>
</html>