ADC

Comment rediriger une requête HTTP vers HTTPS en utilisant le répondeur

Cet article explique comment configurer la fonctionnalité de répondeur avec un équilibrage de charge des adresses IP de serveur virtuel et rediriger les demandes des clients de HTTP vers HTTPS.

Imaginons un scénario dans lequel un utilisateur pourrait tenter d’accéder à un site Web sécurisé en envoyant une requête HTTP. Au lieu de supprimer la demande, vous souhaiterez peut-être la rediriger vers un site Web sécurisé. Vous pouvez utiliser la fonction de répondeur pour rediriger la demande vers le site Web sécurisé sans modifier le chemin et l’URL de la requête auxquels l’utilisateur tente d’accéder.

Comment le répondeur NetScaler redirige une requête de HTTP vers HTTPS

L’illustration suivante montre étape par étape comment l’appliance redirige une demande.

Répondeur redirigeant une demande

Pour configurer la fonctionnalité Responder ainsi que les adresses VIP d’équilibrage de charge d’une appliance NetScaler afin de rediriger les demandes des clients de HTTP vers HTTPS, procédez comme suit.

Activez la fonction de répondeur sur l’appliance

Pour activer la fonction de répondeur sur l’appliance, accédez à Système > Paramètres > Configurer les fonctionnalités avancées et sélectionnez Répondeur .

Créer une action de répondeur

Pour créer une action de répondeur, effectuez les étapes suivantes :

  1. Accédez à AppExpert > Répondeur > Actions et cliquez sur Ajouter.
  2. Spécifiez un nom approprié, tel que http_to_https_actn, dans le champ Nom.
  3. Sélectionnez Rediriger comme type .
  4. Dans le champ Expression, saisissez l’expression suivante :

    "https://" + HTTP.REQ.HOSTNAME.HTTP_URL_SAFE + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE.

  5. Cliquez sur Créer.

Créer une stratégie de répondeur

Pour créer une politique de répondeur, effectuez les étapes suivantes :

  1. Accédez à AppExpert > Répondeur > Politiques et cliquez sur Ajouter.
  2. Spécifiez un nom approprié, tel que http_to_https_pol, dans le champ Nom.
  3. Dans laliste des actions , sélectionnez le nom de l’action que vous avez créée.
  4. Dans la liste des actions non définies , sélectionnez RÉINITIALISER.
  5. Tapez l’expression HTTP.REQ.IS_VALID dans le champ Expression, comme indiqué dans la capture d’ écran suivante.

Stratégie de création d'un répondeur

Création d’un moniteur

Pour créer un moniteur dont l’état est toujours marqué comme UP, effectuez les opérations suivantes :

  1. Accédez à Gestion du trafic > Équilibrage de charge > Moniteurs , puis cliquez sur Ajouter .
  2. Spécifiez un nom approprié, tel que localhost_ping, dans le champ Nom.
  3. Dans le champ IP de destination , spécifiez 127.0.0.1 comme adresse IP.

Configurer le moniteur

Création d’un service

Pour créer un service, procédez comme suit :

  1. Accédez à Équilibrage de charge > Services et cliquez sur Ajouter.
  2. Spécifiez un nom approprié, tel que Always_up_Service, dans le champ Nom.
  3. Spécifiez une adresse IP inexistante dans le champ Serveur .

  4. Spécifiez 80 dans le champ Port .
  5. Ajoutez le moniteur créé à partir de la liste des moniteurs disponibles .

Création d’un serveur virtuel d’équilibrage de charge

  1. Accédez à Équilibrage de charge > Services , puis cliquez sur Ajouter .
  2. Spécifiez un nom approprié dans le champ Nom .
  3. Spécifiez l’adresse IP du site Web dans le champ Adresse IP .
  4. Sélectionnez HTTP dans la liste des protocoles .
  5. Tapez 80 dans le champ Port.
  6. Cliquez sur l’onglet Stratégies.
  7. Liez la politique de répondeur que vous avez créée à l’adresse VIP d’équilibrage de charge HTTP du site Web.
  8. Créez un serveur virtuel d’équilibrage de charge sécurisé dont l’adresse IP du site Web et le port sont 443.

Pour créer une configuration similaire à la procédure précédente à partir de l’interface de ligne de commande de l’appliance, exécutez les commandes suivantes :

enable ns feature responder
add responder action http_to_https_actn redirect ""https://" + http.req.hostname.HTTP_URL_SAFE + http.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE"
add responder policy http_to_https_pol HTTP.REQ.IS_VALID http_to_https_actn RESET
add lb monitor localhost_ping PING -LRTM ENABLED -destIP 127.0.0.1
add service Always_UP_service 1.2.3.4 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip ENABLED dummy -usip NO -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP YES
bind lb monitor localhost_ping Always_UP_service
add lb vserver http_site.com HTTP 10.217.96.238 80 -persistenceType COOKIEINSERT -timeout 0 -cltTimeout 180
bind lb vserver http_site.com Always_UP_service
bind lb vserver http_site.com -policyName http_to_https_pol -priority 1 -gotoPriorityExpression END
<!--NeedCopy-->

Remarques  :

  • L’état du serveur virtuel de redirection d’équilibrage de charge du port 80 doit être ACTIF pour que la redirection fonctionne.
  • Les navigateurs Web risquent de ne pas rediriger correctement si le serveur virtuel HTTPS n’est pas actif.
  • Cette configuration de redirection permet de faire face aux situations dans lesquelles plusieurs domaines sont liés à la même adresse IP.
  • Si le client envoie une requête HTTP non valide au serveur virtuel de redirection, l’appliance envoie un code de message RESET.
Comment rediriger une requête HTTP vers HTTPS en utilisant le répondeur