Azure App Service AlwaysOn fonctionne parfaitement dès lors qu'il n'y a pas de domaine personnalisé défini pour l'application web. Une fois que le domaine personnalisé est ajouté avec une règle de réécriture d'URL pour rediriger toutes les demandes entrantes vers celui-ci, l'application commence à répondre lentement après un certain temps d'inactivité. Les journaux montrent qu'AlwaysOn envoie toujours des pings au domaine azur et obtient une réponse HTTP 301 et n'essaie pas de demander une nouvelle URL.
Log sans domaine personnalisé :
2017-06-20 17:17:02 ZZTESTSITE GET / X-ARR-LOG-ID=743965b6-d3e2-42b9-9353-7772f9fbc898 80 - ::1 AlwaysOn ARRAffinity=b5289afa9cd711b67c1fe9137a6e3ff232f80bd3fa1bd96e9fc89992472b4e57 - zztestsite.azurewebsites.net 200 0 0 11433 652 15
Connexion avec un domaine personnalisé
2017-06-21 13:28:52 ZZTESTSITE GET / X-ARR-LOG-ID=ffcd5992-5019-48ca-a386-76443a8c7226 80 - ::1 AlwaysOn ARRAffinity=b5289afa9cd711b67c1fe9137a6e3ff232f80bd3fa1bd96e9fc89992472b4e57 - zztestsite.azurewebsites.net 301 0 0 553 652 46
Règle de réécriture d'URL :
<rule name="Redirect requests from default azure websites domain to custom one" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^zztestsite\.azurewebsites\.net$" />
</conditions>
<action type="Redirect" url="http://mycustomdomain.com" redirectType="Permanent" appendQueryString="false"/>
</rule>
En outre, une fois que SSL est activé et qu'une autre règle est ajoutée pour rediriger toutes les demandes vers HTTPS, le même problème se pose.
Comment puis-je m'attaquer à ce problème ? J'ai trouvé deux directions possibles :
- Pousser AlwaysOn à faire un ping sur un domaine personnalisé (éventuellement https en option)
- Changez la règle de réécriture d'URL pour permettre à AlwaysOn d'envoyer un ping au domaine azur, mais tous les autres seront redirigés.
Veuillez me conseiller.