Перенаправление HTTP на HTTPS не работает в IIS - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь перенаправить все ссылки с HTTP на HTTPS на моем сайте PHP. Я использую сервер IIS и файл web.config для написания правила перенаправления. Попробовав другой набор правил сервера из нескольких блогов, когда я не нашел решения, я пишу вопрос о переполнении стека.

Когда я реализую приведенное ниже правило, Мой веб-сайт переходит в цикл перенаправления. Я подозреваю, что перенаправление HTTP на HTTPS работает, но не может добавить условие HTTPS. Это означает, что даже если я запрашиваю HTTPS URL, он перенаправляется и переходит в цикл перенаправления.

<rule name="Redirect to https" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTPS}" pattern="off" />
    <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

Это что-то к настройкам сервера? В моей серверной переменной я вижу, что HTTPS выключен.

[HTTPS] => off
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_SOFTWARE] => Microsoft-IIS/8.5
...