Лучший способ в asp.net принудительно использовать https для всего сайта?

Еще вы можете использовать https HSTS, вернув браузеру заголовок csharp «Strict-Transport-Security». Браузер aspdotnet должен поддерживать это (и csharp в настоящее время это делают asp.net в первую очередь Chrome и csharp Firefox), но это означает, что vb.net после настройки браузер не aspdotnet будет делать запросы к сайту c-sharp через HTTP, а вместо этого vbproj будет переводить их в запросы vb HTTPS перед их отправкой. . Попробуйте c#.net это в сочетании с перенаправлением vb.net с HTTP:

protected void Application_BeginRequest(Object sender, EventArgs e)
{
  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;
  }
}

Браузеры, не поддерживающие webforms HSTS, просто проигнорируют c#-language заголовок, но все равно будут csharp перехвачены оператором switch vb.net и отправлены на HTTPS.

c#

asp.net

vb.net

webforms

https

2022-11-05T22:21:32+00:00
Вопросы с похожей тематикой, как у вопроса:

Лучший способ в asp.net принудительно использовать https для всего сайта?