Мое приложение React, работающее в одном веб-приложении Azure, получает ошибку 404 при вызове Node API, работающего в другом веб-приложении Azure. Если я запускаю приложение React локально и вызываю Node API в веб-приложении Azure, оно работает.
Я также могу подключиться через POSTMAN и CURL из консоли разработки Azure для приложения React. CORS был настроен с помощью Express в Node API.
Я думаю о Web.Config, но я прочитал 50 сообщений, которые предлагают использовать следующее:
<?xml version = "1.0"?>
<configuration>
<location path = "favicon.ico">
<system.webServer>
<httpRedirect enabled = "false" />
</system.webServer>
</location>
<system.webServer>
<staticContent>
<remove fileExtension = ".json" />
<mimeMap fileExtension = ".json" mimeType = "application/json" />
</staticContent>
<rewrite>
<rules>
<rule name = "React Routes" stopProcessing = "true">
<match url = ".*" />
<conditions logicalGrouping = "MatchAll">
<add input = "{REQUEST_URI}" pattern = "^/(api)" negate = "true" />
<add input = "{REQUEST_FILENAME}" matchType = "IsFile" negate = "true" />
<add input = "{REQUEST_FILENAME}" matchType = "IsDirectory" negate = "true" />
</conditions>
<action type = "Rewrite" url = "/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Я действительно застрял :-(





Ну, ну, ну... Так я же сказал, что был довольно новичком во всем этом!
Оказывается, при переходе от разработки к производству файл package.json, имеющий "proxy": "https://URLofTheAPI", не имеет отношения к производственной среде. Поэтому мне нужно было установить URL-адрес API в вызове get. Поэтому вместо axios.get('/api/hotels'... я использовал axios.get('https://URLofTheAPI/api/hotels'...
Тем временем я многое узнал о IIS Web.Config, так что весь день не был потерян :-) Кроме того, это дает мне следующую тему для изучения. Как автоматизировать замену такого кода на этапе сборки npm run.