Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous aide à résoudre le problème où le module d’initialisation d’application ne fonctionne pas pour le site web configuré pour exiger ssl (Secure Sockets Layer).
Version du produit d’origine : ASP.NET
Numéro de base de connaissances d’origine : 2843964
Symptômes
Le module d’initialisation d’application anciennement appelé Application Warmup ne fonctionne pas pour le site web configuré pour exiger SSL.
Cause
Ce comportement est fait exprès.
Le module de préchauffement envoie la requête à l’aide du protocole HTTP (Hypertext Transfer Protocol) et non avec le protocole HTTPS (Hypertext Transfer Protocol Secure). La solution suggérée autorise les requêtes HTTP à localhost à partir du module de préchauffement, mais elle redirige vers https pour le reste des requêtes. Par conséquent, par conception, le module de préchauffement effectue des requêtes via HTTP.
Résolution
Pour contourner cette limitation, vous pouvez envisager d’activer HTTP (décoché le paramètre Exiger SSL sous paramètres SSL du Gestionnaire>IIS) et d’utiliser une règle de réécriture d’URL pour rediriger les requêtes HTTP vers HTTPS à l’exception de la requête provenant du module de préchauffement :
<rewrite>
<rules>
<rule name="No redirect on warmup request (request from localhost with warmup user agent)"
stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="localhost" />
<add input="{HTTP_USER_AGENT}" pattern="Initialization" />
</conditions>
<action type="Rewrite" url="{URL}" />
</rule>
<rule name="HTTP to HTTPS redirect for all requests" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>