Как перезаписать URL-адрес в IIS, чтобы приложение React с сервера могло работать в обратном прокси-сервере с базовым именем и подкаталогом - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть приложение React, которое необходимо запустить через обратный прокси-сервер, но обратному прокси-серверу требуется подкаталог, а не просто поддомен (т. Е. https://mydomain/MyDir). Как правильно настроить приложение React и / илинастроить модуль перезаписи URL IIS, чтобы приложение работало на обратном прокси-сервере?

У меня проблема с запуском приложения React на обратном прокси-сервере, работающем в IIS, где обратному прокси-серверу требуется подкаталог (https://mydomain/MyDir), а не просто поддомен. Приложение React работает, когда оно работает на локальном хосте (http://localhost:9000/*), но когда я выполняю перезапись URL-адреса в IIS, оно не работает.

IЯ уже пытался изменить базовое имя в package.json и в теге Router в приложении (следуя приведенному ниже URL-адресу), но, хотя он показывает SubDir при использовании localhost, он все равно не работает, когда я пытаюсь выполнить обратное. прокси-сайт (https://mydomain/SubDir):

https://medium.com/@svinkle/how-to-deploy-a-react-app-to-a-subdirectory-f694d46427c1

Вот мой текущий код перезаписи URL IIS:

<rule name="Reverse Proxy to SubDir" stopProcessing="true">
   <match url="^SubDir(.*)" />
   <action type="Rewrite" url="http://localhost:3000{R:1}" />
</rule>

Когда я это делаю, он пытается подключиться клокальный узелда, но в браузере ничего не отображается. Когда я проверяю исходный код, есть содержимое, но по какой-то причине я не смог изменить src, чтобы сделать его относительным (т.е. использовать ./ вместо / в атрибуте src):

  <script src="/static/js/bundle.js"></script><script src="/static/js/2.chunk.js"></script><script src="/static/js/main.chunk.js"></script>
...