1

У меня проблема с конфигурацией службы 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>

0