IIS Redirect HTTP to HTTPS Redirect Loop

У меня есть настройка сайта для использования сертификатов SSL и обслуживания сайта через https. Однако я не могу заставить перезапись URL-адреса работать должным образом, чтобы перенаправить попытки подключения в соответствии с определенными правилами, которые, в конечном итоге, приведут к использованию определенного URL-адреса.

В целях безопасности на данный момент я просто скажу, что это домен: example.com

Я пытаюсь сделать следующее.

  • Все перезаписи должны переписывать базовый запрос на https://www.example.com/

Например, скажем, у меня есть эти до / после:

И так далее. Однако независимо от того, какой пример я использую, я могу найти в Интернете для выполнения перенаправления HTTP на HTTPS, я остаюсь с IIS, просто вызывающим перенаправление бесконечных циклов и никогда не работающим должным образом.

Привязки на сайте в IIS следующие:

  • Тип: http / Имя хоста: www.example.com / Порт: 80 / IP-адрес: *
  • Тип: http / Имя хоста: example.com / Порт: 80 / IP-адрес: *
  • Тип: https / Имя хоста: www.example.com / Порт: 443 / IP-адрес: *

person atom0s    schedule 09.08.2017    source источник
comment
Не могли бы вы добавить список ваших правил из web.config.   -  person Victor Leontyev    schedule 10.08.2017


Ответы (1)


Я использую этот

<rewrite>
  <rules>
    <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="Found" />
    </rule>
  </rules>
</rewrite>
person Mr Zach    schedule 09.08.2017
comment
Это приводит к той же проблеме с петлями перенаправления. - person atom0s; 10.08.2017
comment
Я скопировал это с действующего сервера. Вы уверены, что у вас нет других правил перезаписи? - person Mr Zach; 10.08.2017
comment
Да, единственное правило перезаписи, которое у меня есть, это то, что было при тестировании, и оно не предотвратило возникновение цикла. Дальнейшее расследование проблемы показало, что отчасти виноват Cloudflare, и мне все же удалось заставить его работать. - person atom0s; 11.08.2017
comment
Хотя это старый пост, я могу столкнуться с аналогичной проблемой с Let's Encrypt. Не могли бы вы сообщить мне, как вы это исправили? - person Garth Sebastian; 10.05.2018