У нас есть веб-сайт, где внешним интерфейсом является SPA, который размещается в Azure хранилище BLOB-объектов, а бэкэнд размещается в Azure Служба приложений. На сайт будет входить Azure Входная дверь. Я пытаюсь перенаправить запросы на правильный сервер.
Все конечные точки на сайте, размещенном в службе приложений, имеют формат /backend/*.
Во внешнем интерфейсе у нас есть несколько файлов в root, /index.html и несколько других, таких как favoicon.ico, а затем некоторые файлы в папке / assets. Единственная распространенная вещь об этом - то, что у них есть точка в имени файла.
У SPA есть динамические c URL, например / login, которые не соответствуют ни одному физическому файлу.
Я хотел бы использовать приведенные ниже маршруты в Front Door, но у меня возникают проблемы при создании правила для шаблона /*.*
, т.е. при маршрутизации всего, что выглядит как файл, в хранилище BLOB-объектов без перезаписи URL.
╔═══════════════════════════════╦═══════════════╦══════════════╦══════════════════════════════════════════════════╦══════════════════════════════════════════════════════════════════════════════════════════════╗
║ Source url ║ Route pattern ║ Backend pool ║ Target url ║ Description ║
╠═══════════════════════════════╬═══════════════╬══════════════╬══════════════════════════════════════════════════╬══════════════════════════════════════════════════════════════════════════════════════════════╣
║ www.example.com/backend/login ║ /backend/* ║ App service ║ ourbackend.azurewebsites.net/backend/login ║ All backed routes ║
║ www.example.com/ ║ / ║ Blob storage ║ ourstaticstorage.web.core.windows.net/index.html ║ Requests to the root should return index.html from blob storage ║
║ www.example.com/favicon.ico ║ /*.* ║ Blob storage ║ ourstaticstorage.web.core.windows.net/*.* ║ Blob storage contains other static files that should be returned. All files contain a period ║
║ www.example.com/scripts.css ║ /*.* ║ Blob storage ║ ourstaticstorage.web.core.windows.net/*.* ║ Blob storage contains other static files that should be returned. All files contain a period ║
║ www.example.com/styles.css ║ /*.* ║ Blob storage ║ ourstaticstorage.web.core.windows.net/*.* ║ Blob storage contains other static files that should be returned. All files contain a period ║
║ www.example.com/login ║ /* ║ Blob storage ║ ourstaticstorage.web.core.windows.net/index.html ║ Catch all route for deep links in the spa ║
╚═══════════════════════════════╩═══════════════╩══════════════╩══════════════════════════════════════════════════╩══════════════════════════════════════════════════════════════════════════════════════════════╝
Is Есть ли другой способ сделать это?