J'essaie de comprendre un comportement étrange que je n'ai jamais vu auparavant.
J'ai un site. Les liaisons HTTP par nom d'hôte sur le port 80 sont configurées. Le site est accessible par HTTP.
Lorsque j'ajoute une liaison HTTPS (j'ai essayé avec et sans SNI), je peux accéder au site par HTTPS. Mais, lorsque j'essaie d'accéder au site par HTTP, j'obtiens une redirection 307 vers HTTPS.
Je n'ai pas ajouté de règles de redirection IIS ni de règles URL Rewrite. De plus, si je change le port HTTPS pour un autre port, par exemple 44300, les redirections depuis HTTP (port 80) sont mises à jour pour rediriger vers le port non standard configuré.
En fait, il s'agit d'un site .NET Core. Y a-t-il une chance que l'application puisse vérifier les liens IIS et ensuite faire une redirection correcte ici ?
Merci pour toutes vos idées astucieuses !
Editar:
Je trouve une référence à : Microsoft.AspNetCore.HttpsPolicy
dans un fichier json. Je n'ai pas le code source.
De même, si je supprime la racine du site et que j'ajoute un fichier index.htm statique, la redirection magique ne se produit pas. Donc, quelque chose avec l'application ASP.NET Core, il semble lire le numéro de port à partir de la configuration IIS, ce qui me semble câblé.
0 votes
Vérifiez le fichier web.config, peut-être que quelque chose a ajouté une règle dans le fichier pendant la publication.
0 votes
Non, il n'y a pas de règles. Note Il y a aussi des changements automatiques si le port est changé de 443 à 44300 ou similaire...