web-dev-qa-db-fra.com

IIS 7 Exiger que SSL soit automatiquement redirigé vers https: //

J'ai configuré IIS 7 pour exiger SSL. Je me demande si je peux automatiquement rediriger les requêtes non-ssl pour qu'elles soient chiffrées.

Par exemple, si un utilisateur tape http://domain.com, IIS peut-il rediriger la demande vers https://domain.com plutôt que d'afficher la page d'erreur 403?

26
jdickson

Vous pouvez le faire de différentes manières, mais si vous avez le module de réécriture d'URL installé, c'est assez simple et un bon moyen de le faire.

Vous pouvez coller la configuration ci-dessous dans le fichier web.config de votre site (inclus dans la section <system.webServer></system.webServer>)

<configuration>
<system.webServer>
<rewrite>  
  <rules> 
   <rule name="https redirect">      
      <match url="(.*)" ignoreCase="false" />     
         <conditions>        
            <add input="{HTTPS}" pattern="off" ignoreCase="false" />      
         </conditions>      
      <action type="Redirect" redirectType="Found" url="https://{HTTP_Host}{REQUEST_URI}" />    
   </rule>  
  </rules>
</rewrite>
</system.webServer>
</configuration>

OU vous pouvez utiliser l'interface utilisateur d'IIS pour créer une nouvelle règle, comme dans la capture d'écran ci-dessous.

Screenshot of IIS rewrite rule for redirecting http traffic to https.

27
Scott Obert

Vous pouvez également utiliser rlRewriter.NET . Les règles à utiliser avec cela ressemblent à ceci:

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
1
Protector one

Tout d'abord, vous devez désactiver "Exiger SSL" dans les paramètres SSL. Ensuite, vous pouvez suivre la solution de skottt.

BTW, j'ai suivi le blog du blog RuslanY (http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/

1
Ray