Остановить применение HSTS HTTPS

Поэтому я поместил это в свой Global.asax.cs для принудительного использования HTTPS с использованием HSTS.

protected void Application_BeginRequest(Object sender, EventArgs e)
{
      if (!Request.IsLocal && AppSettings.IsSSLEnforced)
      {
          switch (Request.Url.Scheme)
          {
             case "https":
                 Response.AddHeader("Strict-Transport-Security", "max-age=300");
                 break;
             case "http":
                 var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
                 Response.Status = "301 Moved Permanently";
                 Response.AddHeader("Location", path);
                 break;
           }
       }
}

Теперь проблема в том, что это принудительное применение основано на настройке в моем приложении, которая решает, применяется ли оно или нет, и когда оно не применяется, оно все еще применяется. Как я могу очистить его и остановить перенаправление?

Я попытался добавить еще, в котором я положил

Response.AddHeader("Strict-Transport-Security", "max-age=0");

Установка max-age на 0 не сработала. Как мне это удалить? Также кажется, что максимальный возраст не работает (я использую хром), так как прошло более 300 секунд (5 минут)

РЕДАКТИРОВАТЬ: теперь я попытался загрузить в IE, и он не выполняет перенаправление, я попытался войти в настройки Chrome и удалить запись, и все равно ничего.


person cb1295    schedule 28.05.2015    source источник
comment
Когда вы говорите, что вошли в настройки Chrome и удалили запись, вы сделали это из chrome://net-internals/#hsts?   -  person Steven V    schedule 28.05.2015
comment
@StevenV да, я сделал. Имеет ли значение, что я использую местный? Я ввел URL-адрес, который я настроил в IIS (abc.christest.com), чтобы удалить, и даже запросил его, и он не дал результата.   -  person cb1295    schedule 28.05.2015


Ответы (1)


После того, как вы отправили заголовок HSTS в браузер пользователя, он всегда будет использовать https. Он указывается для каждого домена и, при необходимости, плюс субдомены.

Как только браузер посетил ваш домен и получил заголовок HSTS, он всегда будет использовать https (это принудительно). Теперь вы не можете отменить его с помощью ответа сервера.

Таким образом, лучше добавлять HSTS и заголовки перенаправления на уровне брандмауэра веб-приложений (WAF) и только, когда все ресурсы в вашем домене могут обслуживаться через https.

https://www.chromium.org/hsts/ https://blog.cloudflare.com/enforce-web-policy-with-hypertext-strict-transport-security-hsts/

person Konstantin Pavlov    schedule 24.07.2015