Prise en charge du Passthrough SSL dans le Listener
Le Passthrough SSL est une configuration réseau où la requête SSL/TLS entrante n'est pas déchiffrée par l'équilibreur de charge (NetScaler). Au lieu de cela, le trafic chiffré est directement transmis au serveur backend désigné (le pod d'application) pour le déchiffrement.
-
Bien que le NetScaler ne déchiffre pas le trafic, la liaison d'un certificat au Listener reste obligatoire.
-
Le NetScaler effectue une correspondance SNI (Server Name Indication) sur le message initial Client Hello du client avant de transmettre la requête. Cela fournit une couche supplémentaire de routage et de vérification de sécurité.
-
Le Passthrough SSL est désormais pris en charge pour tout Listener lorsqu'il est référencé comme une annotation dans le Listener.
-
Cette prise en charge inclut les déploiements multicluster.
-
Si la fonction de passthrough est activée dans un listener multicluster dans un cluster, elle doit être activée dans tous les autres clusters participant à la solution multicluster.
-
-
Le passthrough est défini au niveau du listener. Tous les Ingresses faisant référence au listener auront le passthrough activé.
Le CRD Listener contrôle le comportement de l'IP virtuelle (VIP) frontale sur le NetScaler. Le paramètre suivant doit être inclus dans la spécification du Listener :
| Paramètre | Valeur | Par défaut | Description |
|---|---|---|---|
| relais | True | Faux | Active le passthrough SSL pour le VIP et le port de ce Listener. |
Exemple de CRD de Listener
apiVersion: citrix.com/v1
kind: Listener
metadata:
name: listener-https-passthrough
namespace: default
spec:
multicluster: true # Required for this feature to be active
vip: '1.2.3.4'
port: 443
protocol: https
passthrough: true # Enables SSL Passthrough
certificates:
- secret:
name: app-secret # Mandatory certificate binding
YAML d'Ingress
Aucune modification n'est requise dans la définition YAML d'Ingress pour activer le passthrough SSL. Le comportement de passthrough est entièrement contrôlé par le CRD de Listener.
Voici un exemple de définition d'Ingress qui fait référence au Listener configuré :
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: https-ingress
annotations:
ingress.citrix.com/listener: listener-https-passthrough
spec:
ingressClassName: "cic-vpx"
rules:
- host: httpsapp-netscaler.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: https-app
port:
number: 80