Я пытаюсь настроить простой обратный прокси-сервер для http и https для 4D-приложения, работающего на сервере Windows 2012 R2.
У меня работает http, но не https. Когда я открываю общедоступный брандмауэр и получаю прямой доступ к приложению 4D, https работает нормально.
Может ли кто-нибудь подсказать, что я делаю неправильно или что мне нужно сделать, чтобы https тоже работал?
Вот что я сделал:
Я открыл форму настроек обратного прокси ARR для основного сервера и ввел следующие значения:
Включить прокси
Пройти через
Держите в живых
Время ожидания=120
X-переадресовано-для
Включить порт TCP из IP-адреса клиента
Продолжительность кэша памяти = 60 с
Включить кеш диска
Игнорировать строку запроса
Буфер ответа = 4096 КБ
Порог = 256 КБ
Используйте URL Rewrite для проверки входящих запросов
Обратный прокси = DNSName:LocalHttpPort
После сохранения формы настроек обратного прокси-сервера ARR автоматически были созданы два правила перезаписи URL-адресов «ARR_server_proxy» и «ARR_server_proxy_SSL».
Все, что мне нужно было сделать, это заполнить поле для перекодированного URL.
Для правила http я ввел: «http://DNSName:LocalHttpPort/{R0}».
Для правила https я ввел: «https://DNSName:LocalSSLPort/{R0}».
Как я упоминал выше, эти настройки работают для http. Когда я пытаюсь использовать https, я получаю тайм-аут браузера.
Я где-то читал, что мне нужно импортировать SSL-сертификат + закрытый ключ, который я настроил для приложения 4D, в IIS.
Я сделал это, но тогда я не мог понять, как его привязать к основному серверу? И нужно ли мне устанавливать «Включить разгрузку SSL», если я это сделал?
Я также где-то читал, что я должен ввести в поле «Обратный прокси» настроек обратного прокси-сервера ARR только DNSName.
Я ввел DNSName:LocalHttpPort. Когда я ввожу только DNSName, я получаю тайм-аут браузера.
Прочитав десятки статей на эту тему, я все больше и больше запутывался.
вот XML правил перезаписи:(добавлено 19.08.2021 14:00 MEZ)
<proxy enabled="true" />
<rewrite>
<globalRules>
<rule name="ARR_server_proxy_SSL" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTPS}" pattern="on" />
</conditions>
<action type="Rewrite" url="https://h25XXXXX.stratoserver.net:4443/{R:0}" />
</rule>
<rule name="ARR_server_proxy" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://h25XXXXX.stratoserver.net:4000/{R:0}" />
<conditions>
<add input="{HTTPS}" pattern="on" negate="true" />
</conditions>
<serverVariables>
</serverVariables>
</rule>
</globalRules>
<allowedServerVariables>
<add name="{HTTPS}" />
</allowedServerVariables>
</rewrite>