Я столкнулся с проблемой перенаправления моей веб-службы HTTPS с HTTP.
Я применил сертификат CA SSL к своему веб-сервису и, используя URL Rewrite, внес изменения для перенаправления в IIS 7.5.
Вот конфигурация, которую я получил в свой web.config
:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
Но без снятия флажка Требовать SSL для моего веб-сервиса я не могу перенаправить с HTTP на HTTPS, где я получаю ошибку 403.4.
Когда я пытался добавить страницу ошибки с кодом 403.4, он не принимает ее и говорит, что мы не можем добавить код 403.3. Он принимает только 403, 404 и т. Д.
Флажок «Требовать SSL» - это именно то, что заставляет все обычные HTTP-запросы возвращать HTTP 403 обратно. Снятие флажка не «нарушает SSL» или что-то подобное, это просто позволяет IIS предоставлять ответ на HTTP-запросы.
Есть 2 подхода к этому:
Первый подход проще всего реализовать и поддерживать, но второй вариант обеспечивает дополнительную защиту, поскольку IIS выдаст ошибку (вместо обслуживания не-http-контента), если модуль перезаписи URL-адреса выйдет из строя по какой-либо причине.