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?
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.
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>
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/