Azure web.config Постоянное перенаправление и получить код состояния 307 вместо 301 - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь перенаправить весь http-трафик на https при возврате кода состояния 301.Почему-то вместо этого я получаю 307 статус и не знаю почему.Я попытался найти, чтобы увидеть, пропустил ли я что-то в моей конфигурации, но это похоже на все, что я видел.

Мой web.config

    <rewrite>
      <rules>
        <rule name="ForceWWW" stopProcessing="true">
          <match url=".*" ignoreCase="true" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^MY_DOMAINE" />
          </conditions>
          <action type="Redirect" url="https://www.MY_DOMAINE/{R:0}" redirectType="Permanent" />
        </rule>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
      <outboundRules>
        <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
          <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
          <conditions>
            <add input="{HTTPS}" pattern="on" ignoreCase="true" />
          </conditions>
          <action type="Rewrite" value="max-age=31536000" />
        </rule>
      </outboundRules>
    </rewrite>

enter image description here

ОБНОВЛЕНИЕ

Я только что нашел кое-что интересное.Например, мой домен - domaine.com

Если я ищу:

domaine.com, перенаправление составляет 301

http://www.domaine.com, перенаправление - 307

www.domaine.com перенаправление 307

ОБНОВЛЕНИЕ

У меня проблема только с Chrome.Другие браузеры имеют статус 301 с перенаправлением.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Вы указываете Strict_Transport_Security в ответе, который активирует HSTS

Chrome даже не вызывает сервер и перенаправляет напрямую через HTTP-код 307. Подробнее

0 голосов
/ 28 февраля 2019

Согласно вашему web.config, вы указали redirectType = "Permanent", он должен вернуть код состояния 301.Вы можете проверить, воспроизводимо ли то же поведение в других браузерах.

...