iis перенаправить http на https не обрабатывает исходящие правила - PullRequest
0 голосов
/ 12 июня 2018

Windows Server 2008R2 / IIS 7.5.У меня есть правило перенаправлять все http-запросы на https следующим образом:

    <rule name="HTTPS Redirect">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>

Это работает отлично, как и ожидалось.Теперь для соответствия PCI наш ASV требует, чтобы тип / версия сервера не отображался в заголовках http.Поэтому я добавил это правило для исходящих сообщений:

  <outboundRules rewriteBeforeCache="true">
    <rule name="Response Server">
        <match serverVariable="RESPONSE_SERVER" pattern=".+" />
        <action type="Rewrite" />
    </rule>
  </outboundRules>

Это прекрасно работает для запросов https к серверу, заголовок Server:, как и ожидалось, пуст:

HTTP/1.1 200 OK =>
Cache-Control => private
Content-Length => 13049
Content-Type => text/html
Server =>
X-Frame-Options => DENY
Strict-Transport-Security => max-age=31536000;
Date => Tue, 12 Jun 2018 18:41:59 GMT
Connection => close

Но для запросов httpзаголовок сервера возвращается с перенаправлением:

HTTP/1.1 301 Moved Permanently =>
Content-Type => text/html; charset=UTF-8
Location => https://www.example.com/
Server => Microsoft-IIS/7.5
Strict-Transport-Security => max-age=31536000;
Date => Tue, 12 Jun 2018 18:44:50 GMT
Connection => close
Content-Length => 151

outboundRules не обрабатывается.Как я могу удалить заголовок Server: при любых обстоятельствах?

1 Ответ

0 голосов
/ 13 июня 2018

Я удалил предыдущий ответ, который у меня был здесь.Оказывается, что добавление пользовательского заголовка с именем Server: делает не устранением проблемы.Это дурачит некоторые инструменты , но не все из них.Даже не тот простой JavaScript, который я создал для выгрузки заголовков из вызова Ajax.

Мое окончательное решение состояло в том, чтобы использовать модуль Native-Code с именем StripHeaders .Полный исходный код, а также установщик MSI доступны на GitHub .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...