Configuração ideal do IIS para redirecionamento SSL com vários certificados instalados

Configuração ideal do IIS para redirecionamento SSL com vários certificados instalados

Eu tenho uma configuração IIS7/WinServer2008 com um certificado SSL curinga instalado (*.mydomain.com). O servidor web contém vários sites, cada um configurado para rotear através de um cabeçalho de host no mesmo IP (chame-o de IP1). Alguns dos sites estão configurados para usar SSL e outros não.

Então eu tenho...

a.mydomain.com -> SSL
b.mydomain.com -> non-SSL
c.mydomain.com -> SSL
d.mydomain.com -> non-SSL
e.mydomain.com -> non-SSL

etc...

Para os sites de exemplo A e C acima (os sites SSL), eu queria que URLs HTTP padrão redirecionassem para HTTPS. Portanto, na raiz do IIS (seta vermelha), configurei as configurações das páginas de erro adicionando um código de status personalizado 403.4 (veja as configurações abaixo).

Adicionado código de status do cliente 403.4

Caixa de diálogo Editar configurações

Caixa de diálogo Editar configurações de recursos

O conteúdo do arquivo redirectHttpToHttps.htm é...

<html>
<head><title>Redirecting...</title></head>
<script language="JavaScript">
function redirectHttpToHttps()
{
    var httpURL= window.location.hostname + window.location.pathname + window.location.search;
    var httpsURL= "https://" + httpURL;
    window.location = httpsURL;
}
redirectHttpToHttps();
</script>
<body>
</body>
</html>

Então, para os sites A e C, substituí as ligações antigas por uma ligação SSL (roteada especificamente para IP1) e configurei as configurações de SSL para "Exigir SSL".

Então tudo funciona muito bem. Redirecionamentos do site Ahttp://a.meudominio.comparahttps://a.meudominio.come da mesma forma, o Site C faz a mesma coisa.

Agora tenho um certificado SSL não curinga para introduzir na mistura. Isto é para o site vinculado a aaa.customerdomain.com. Então adicionei o certificado ao meu servidor IIS e alterei a ligação do site aaa.customerdomain.com para usar uma ligação SSL com o novo certificado e contra um novo IP2.

Então agora, se eu navegar parahttps://aaa.customerdomain.com, tudo funciona muito bem. Porém, não sei como posso conseguirhttp://aaa.customerdomain.compara redirecionar para a versão SSL.

Alguém pode me ajudar com a maneira correta de configurar o IIS para que eu possa fazer tudo isso funcionar?

Responder1

Para lidar com vários tipos de redirecionamento no IIS, tente usar o módulo de reescrita de URL

http://www.iis.net/downloads/microsoft/url-rewrite

Em seguida, adicione isto na configuração da web por site para redirecionamento de http para https:

<rule name="Redirect to HTTPS" stopProcessing="true">
  <match url="(.*)" />
    <conditions><add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>

Você também pode fazer isso usando a GUI por meio da interface do módulo de reescrita de URL do IIS: insira a descrição da imagem aqui insira a descrição da imagem aqui

informação relacionada