Forçar uso de HTTPS no site ASP.NET

AspNetMVC

Aplicações ASP.NET possuem um arquivo de configuração web.config quando configuradas em um servidor de aplicação Windows IIS. Aplicações ASP.NET hospedadas com Apache utilizam outro arquivo, o .htaccess.

Neste post vou abordar o web.config, apresentando algumas linhas que você pode adicionar em seu arquivo de configuração e redirecionar todo o fluxo HTTP para HTTPS. É importante lembrar que ajustar o arquivo web.config por sí só não irá fazer o seu projeto trabalhar com HTTPS. É necessário que você possua um certificado SSL instalado também.

Se você já tem um certificado SSL, basta incluir uma rule no seu arquivo de configuração como no exemplo abaixo:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
<rewrite>
   <rules>
     <rule name="Redirect to https" stopProcessing="true">
       <match url="(.*)" />
         <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
         </conditions>
          <action type="Redirect" url="https://seudominio.com.br{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
     </rule>
   </rules>
</rewrite>
    </system.webServer>
</configuration>

É importante que você faça um backup em seu arquivo de configuração antes de substituí-lo.

Atualize seu arquivo no ambiente de produção e seu site já estará respondendo com HTTPS.