Écoutez cet article

La question de la redirection automatique des utilisateurs qui accèdent à votre site Web depuis une connexion non sécurisée (HTTP) vers une connexion sécurisée (HTTPS) existe depuis un certain temps. Si vous faites des recherches sur le web, vous trouverez différentes façons de le faire, par exemple en utilisant du code VBScript dans la page HTML, en travaillant dans IIS à l’aide de pages d’erreur, et en créant plusieurs sites web utilisant différents ports et en redirigeant les utilisateurs entre les sites.

J’ai essayé toutes ces méthodes et j’ai constaté que la gestion en code est l’une des façons les plus faciles d’y parvenir tout en offrant le plus de flexibilité. Voici un exemple de code qui peut être utilisé sur des sites Web ASP.NET qui utilisent VB.NET ou C# dans les pages de code-behind.

Vous devez placer le code dans la procédure Sub Page_Load. Si vous utilisez une Master Page, vous pouvez placer ce code dans le fichier Master Page.vb (code-behind). Sinon, vous pouvez l’ajouter uniquement aux pages de votre site Web qui nécessitent un accès HTTPS.

VB.Net

If Not Request.IsSecureConnection Then
Response.Redirect(Request.Url.AbsoluteUri.Replace(« http:// », « https:// »))

Si la demande n’est pas une connexion sécurisée alors

Response.Redirect(Request.Url.AbsoluteUri.Replace(« http:// », « https:// »))

C#

if (!Request.IsSecureConnection)
Response.Redirect(Request.Url.AbsoluteUri.Replace(« http:// », « https:// »)) ;

En outre, si vous utilisez IIS 7.0 ou une version ultérieure, je vous recommande de tirer parti de la réécriture d’URL. Bien entendu, avant d’autoriser les connexions SSL sur votre serveur Web, vous devez configurer ce dernier en conséquence.