Estou recebendo um erro de redefinição de conexão nos navegadores quando redireciono um URL de http para https. Estou tentando localizar o problema e procurei C:\Windows\System32\LogFiles\HTTPERR
e vi apenas Timer_ConnectionIdle
erros no log. Pelo que consegui descobrir, eles não estão relacionados.
Não há logs na FailedReqLogFiles
pasta e não vejo nada além de logs de acesso na W3SVC1
pasta.
Estou completamente perdido sobre para onde ir a partir daqui. Aqui está minha regra de redirecionamento.
URL de correspondência
URL solicitada: corresponde ao padrão
usando:
padrão de expressões regulares: .*
e ignorar maiúsculas e minúsculas
Condições
Agrupamento lógico: Corresponder a todos
Entrada: {HTTPS}
Tipo: Corresponde ao padrão
Padrão: desativado
Variáveis de servidor
Em branco
Ação
Tipo de ação: Redirecionamento
URL de redirecionamento: https://{SERVER_NAME}/{R:0}
Anexar string de consulta: verificado
Tipo de redirecionamento: Permanente (301)
Responder1
Este trecho de web.config
funciona para mim.
<rule name="Redirect HTTP 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>
A principal diferença entre esta e sua configuração parece ser HTTP_HOST
vs. SERVER_NAME
Estou usando o padrão de substituição R:1
enquanto você está usando R:0
, mas isso pode ser explicado pela maneira como defini meu padrão de correspondência em (.*)
vez de .*
.