Запрос маршрута для stati c файлов в хранилище BLOB-объектов с Azure Front Door - PullRequest
1 голос
/ 15 января 2020

У нас есть веб-сайт, где внешним интерфейсом является 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 Есть ли другой способ сделать это?

...