Como posso redirecionar a resposta HTTP IIS7 “403 proibido” para HTTPS?

5

Pedi ao nosso host para configurar o SSL em nosso site, de modo que as solicitações HTTP redirecionassem automaticamente para HTTPS.

Eles dizem que isso é feito, no entanto, ao acessar o site via HTTP eu agora obtenho:

Response HTTP/1.1 403 Forbidden

HTTPS funciona bem.

Eu pedi que isso fosse corrigido e me disseram que isso não é uma configuração de servidor (que eles gerenciam) e precisa ser corrigido via web.config (ao qual eu tenho acesso).

Eu tentei, sem sucesso, usar as seguintes alterações para capturar este 403 e redirecioná-lo:

<system.web>
    <customErrors defaultRedirect="/test.html" mode="On"></customErrors>
</system.web>

<httpErrors errorMode="Custom">
    <remove statusCode="403" subStatusCode="-1" />
    <error statusCode="403" prefixLanguageFilePath="" path="/test.html" responseMode="ExecuteURL" />
</httpErrors>  

Como posso resolver isso de tal forma que o HTTP redirecionará para - efetivamente exigindo - HTTPS?

    
por Jane Panda 18.06.2015 / 00:02

1 resposta

6

Acontece que o host tinha que primeiro desmarcar "Requer SSL", então eu era capaz de redirecionar o tráfego no web.config via:

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
 <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
    
por 18.06.2015 / 21:55

Tags