Обратный прокси-сервер может использоваться для распределения внешних запросов для балансировки нагрузки на разные сервера/экземпляры АвтоГРАФ.WEB или для обеспечения одновременного функционирования нескольких сайтов, в том числе АвтоГРАФ.WEB на одном сервере. В последнем случае случае необходимо оставить сервис АвтоГРАФ.WEB по адресу localhost:5000 и опубликовать его на IIS, задав нужное имя узла (host header).
Внешний запрос, содержащий уникальное имя узла, будет перенаправлен к физическому сайту, привязанному к этому имени в IIS.
Далее в качестве примера используется имя узла bda11.tk-chel.ru. Для функционирования обратного прокси-сервер необходимо в IIS добавить и настроить два модуля: URL Rewrite и Application Request Routing (ARR).
Создайте в IIS сайт. Обязательно укажите имя узла (host name).
В каталоге ..\inetpub\wwwroot\ перейдите в папку сайта (название папки соответствует имени узла — в рассматриваемом примере bda11.tk-chel.ru).
Создайте в этой папке файл web.config со следующим содержанием:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <outboundRules> <preConditions> <preCondition name="ResponseIsHtml1"> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> </preCondition> </preConditions> </outboundRules> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://localhost:5000/{R:1}" /> <serverVariables> </serverVariables> </rule> </rules> </rewrite> </system.webServer> </configuration>
В каталоге …\inetpub\wwwroot\<название узла> не должно быть никаких других файлов и папок, кроме web.config.
После этого все запросы к сайту (например, http://bda11.tk-chel.ru) будут пробрасываться на локальный сервис http://localhost:5000 .
Также следует исправить имя сайта в файле appsettings.user.json в секции web (ключ site-url ) на вашем сайте ( http://bda11.tk-chel.ru ). В случае необходимости хостинга множества сайтов с помощью обратного прокси можно организовать любую схему, где запросы приходят на один внешний IP адрес IIS, а далее согласно имени узла распределяются по сайтам и перенаправляются на соответствующие внутренние серверы.