У нас есть 2 веб-сервера в Azure с балансировкой нагрузки. Мы только что установили SSL на эти лазурные веб-сайты, чтобы преобразовать его в HTTPS.
Теперь мы хотим, чтобы любой запрос, поступающий как HTTP, был изменен / перенаправлен на соединение HTTPS.
Итак, для тестирования я создал опубликованный веб-сайт на своем локальном компьютере, а затем добавил самоподписанный сертификат SSL, чтобы получить безопасный сайт. Затем я использовал перезапись URL, чтобы направить свой HTTP-сайт на HTTPS. Я использовал это в Web.config.
Это отлично работает на моем локальном опубликованном сайте.
Но это не удается на сервере Azure и дает мне внутреннюю ошибку сервера.
Любые идеи?
Я использовал следующее в Web.config для перезаписи URL
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="Off" />
<add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="SeeOther" />
</rule>
</rules>
Я думаю, мы можем использовать URL Rewrite для перенаправления HTTP на HTTPS. Мы можем выполнить следующие шаги для достижения этой функции.
Если у вас нет функции URL Rewrite, мы можем загрузить ее с сайта Microsoft. Вы можете найти ссылки в Google. После успешной установки вы можете увидеть перезапись URL-адреса в IIS.
Сайт связан двумя протоколами: 443 80
Настройка перезаписи URL.
Политика конфигурации в двух местах
Мы это тестируем.
В виртуальной машине Azure мы получаем доступ к http: //, он будет успешно перенаправлен на https: //.
Теперь следует обратить внимание на настройку в Azure.
Правила сети безопасности веб-сервера.
Для правил ввода должен быть разрешен доступ 80 и 443.
Набор балансировки нагрузки.
Я думаю, мы должны установить два набора балансировки нагрузки, 80 и 443.
Возможно, шлюз приложений также сможет выполнить эту функцию.