Videresendelse af klientforbindelsesoplysninger i dit DigitalOcean Kubernetes-setup med PROXY Protocol
I dette blogindlæg dykker vi ned i, hvordan man aktiverer PROXY-protokollen på DigitalOceans LoadBalancer ved hjælp af ingress-nginx for at videresende klientens IP-adresser.
Vores fokus vil være på at videresende klientens IP-adresser, et afgørende trin i scenarier som IP-baseret geolokation eller adgangsbegrænsning baseret på IP.
Lad os dykke ned i detaljerne! 🌊🪸
⚠️
Jeg antager, at du allerede har en Ingress NGINX Controller installeret og kørende
Aktivér PROXY-protokol på Ingress NGINX Controller
Først skal vi redigere ConfigMap:
kubectl edit configmap ingress-nginx-controllerUnder data tilføjer du use-proxy-protocol og sætter den til "true"
Dette gør det muligt for Ingress NGINX Controller at parse PROXY-protokollens header.
apiVersion: v1
data:
use-proxy-protocol: "true"⚠️
Bemærk: dette er en string og IKKE en boolean 😮
Aktivér PROXY-protokol på LoadBalancer
Til sidst skal vi redigere Ingress NGINX Controller-servicen, hvor vi specifikt aktiverer PROXY-protokollen på DigitalOcean LoadBalancer, så den sender den reelle klient-IP videre:
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true"