У меня проблема с конфигурацией службы IIS, в основном мы получаем ошибку 502, когда мы хотим установить соединение https. Честно говоря, я разработчик, а не системный администратор, но я помогаю коллегам решить эту проблему.
В настоящее время установлены следующие параметры:
Имя сервера: XXX Веб-сервер: IIS (Windows Server 2012) (HTTP) только для тестирования FrontEnd - Angular / Port 80
BackEnd - Java / Порт 8787
(HTTPS) это целевая конфигурация. FrontEnd - угловой / порт 443 BackEnd - Java / порт 9787
Только https://XXX:443/ * доступно для конечного пользователя
Таким образом, в среде Dev нет проблем, потому что все порты доступны для всех. В производстве конечные пользователи могут получить доступ только к одному порту. Предположительно, если мы правильно настроим прокси в IIS, мы сможем использовать его для вызова бэкэнда.
Прокси-сервер работает для HTTP (порт 80), но когда для HTTPS (443) у нас появляется ошибка «502 - веб-сервер получил неверный ответ, выступая в качестве шлюза или прокси-сервера»
Это web.config для HTPPS
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="https://localhost:9787/iam-b2e-backend/{R:1}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Для HTTP
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ForwardProxy">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:8787/iam-b2e-backend/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>