Queremos que TODOS os sites em nosso servidor web (IIS 10) imponham SSL (ou seja, redirecionem HTTP para HTTPS).
No momento, estamos 'Exigindo SSL' em cada site e configurando um 403 error
manipulador para executar um 302 redirect
endereço https para esse site específico.
Isso funciona muito bem. Mas é uma dor de fazer para cada site, há muito espaço para erro humano.
Idealmente, eu gostaria de configurar um permanente 301 redirect
em todos HTTP://*
paraHTTPS://*
Existe uma maneira simples de fazer isso no IIS?
O Módulo de Reescrita de URL do IIS 2.1 para IIS7+ pode ser seu amigo. O módulo pode ser baixado do IIS URL Rewrite . Usando o Módulo de Reescrita de URL e a Referência de Configuração do Módulo de Reescrita de URL 2.0 explicam como usar o módulo.
Depois que o módulo estiver instalado, você poderá criar um redirecionamento em todo o host usando o Gerenciador do IIS. Selecione Reescrever URL , Adicionar Regra(s)... e Regra em branco .
Nome:
Redirecionar para HTTPS
Corresponder URL URL
solicitado:
Matches the Pattern
Usando:
Wildcards
Padrão:
*
Ignorar maiúsculas e minúsculas: Marcado
Condições
Agrupamento lógico:
Match Any
Entrada de condição :
{HTTPS}
Verifique se a string de entrada:
Matches the Pattern
Padrão:
OFF
Ignora maiúsculas e minúsculas: Verificado
Rastrear grupos de captura nas condições: Não verificado
Variáveis do Servidor
Deixe em branco.
Ação
Tipo de ação:
Redirect
URL de redirecionamento:
https://{HTTP_HOST}{REQUEST_URI}
Anexar string de consulta: Não selecionado
Tipo de redirecionamento:
Permanent (301)
Aplique a regra e execute IISReset (ou clique em Reiniciar no Gerenciador do IIS)
Alternativamente, após instalar o módulo, você pode modificar o arquivo applicationHost.config da seguinte forma:
Minha pesquisa mostra que essa pode ser uma maneira melhor de redirecionar: