2016-09-22 3 views
0

Если я набираю example.com, он перенаправляет на https://example.com, как я хочу. Однако при наборе http://example.com/blog он все еще перенаправляет https://example.comПереадресация HTTP на HTTPS для всех страниц

<rewrite> 
     <rules> 
     <clear/> 
     <rule name="Force HTTPS" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
      <add input="{HTTPS}" pattern="off" ignoreCase="true"/> 
      </conditions> 
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="false" redirectType="Permanent" /> 
     </rule> 
     </rules> 
    </rewrite> 

Как я могу сделать это добавить протокол HTTPS к тому, что пользователь написал?

+0

Вы попробовали код здесь? http://stackoverflow.com/a/47095/993547 –

+0

Да. Я добавил правила исходящие сейчас и все еще, он redirectsto корня – crystyxn

+0

, пожалуйста, попробуйте http://stackoverflow.com/questions/32523540/http-to-https-rewrite-too-many-redirect-loops-iis-7 и для подробной информации, пожалуйста, следуйте этому артикулу http://www.hanselman.com/blog/HowToEnableHTTPStrictTransportSecurityHSTSInIIS7.aspx –

ответ

1

Для контроллера можно использовать атрибут [System.Web.Mvc.RequireHttps].

Если вам это нужно на всем контроллере, вы можете использовать следующий код (только Asp.Net MVC6/core).

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddMvc(options => 
    { 
     options.Filters.Add(typeof(RequireHttpsInProductionAttribute)); 
    }); 
} 

Примечание: И вы можете использовать HSTS, чтобы избежать клиента запроса на использование HTTP в следующий раз.

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Strict-Transport-Security" value="max-age=31536000"/> 
     </customHeaders> 
    </httpProtocol> 
</system.webServer> 
+0

BlogController? или дом? – crystyxn

+0

@crystyxn использует атрибут [RequireHttps] для всех контроллеров, которым необходимо использовать https. – qin

+0

im using ASP.NET MVC 5 – crystyxn

Смежные вопросы