Kubernetes
pexels stefan coders 1019774 5146493 scaled

Kubernetes Reverse Proxy voor UniFi Networking – Veilige en Efficiënte Toegang

Het opzetten van een reverse proxy binnen een Kubernetes-cluster voor uw UniFi Network applicatie biedt een krachtige en flexibele manier om uw netwerkbeheer veiliger en toegankelijker te maken. Met een reverse proxy zoals NGINX Ingress Controller kunt u inkomend verkeer naar de UniFi Network Controller routeren zonder directe blootstelling aan het internet, wat uw beveiliging aanzienlijk verhoogt.

Wat is een reverse proxy en waarom Kubernetes?

Een reverse proxy fungeert als tussenstation dat inkomende clientverzoeken analyseert en doorstuurt naar de juiste backend service. In Kubernetes wordt dit vaak gerealiseerd middels een ingress controller, die URL-paden en hostnamen slim kan routeren naar verschillende services binnen uw cluster. Dit helpt niet alleen om uw UniFi Controller veilig te houden, maar maakt ook schaalbaarheid en load balancing mogelijk.

NGINX Ingress voor UniFi Network

Door NGINX in te zetten als reverse proxy voor de UniFi Network Controller kunt u SSL-terminatie uitvoeren, waarbij HTTPS-verkeer veilig wordt afgehandeld en doorgestuurd naar de backend. Dit is cruciaal omdat de UniFi Controller standaard met een zelf-ondertekend certificaat werkt, wat kwetsbaarheden met zich meebrengt. Met de reverse proxy zorgt u voor betrouwbare, versleutelde verbindingen via Let’s Encrypt certificaten, waardoor de veiligheid en gebruikerservaring verbetert.
Praktische voordelen
  • Centraal en veilig beheer van externe toegang tot uw UniFi Network app
  • Automatische SSL-certificaatvernieuwing voor continue beveiliging
  • Flexibele routering met eenvoudige configuratie van meerdere applicaties via één domein
  • Betere load balancing en failover opties voor hoge beschikbaarheid

Example YAML

Create an Service and Endpoint with the same name. 

In the example you must change the follow values:

  • 192.168.1.5 with the IP Address from the unifi controller
  • 8443 with the port from the unifi controller
  • stephan-at-monkeysoft-nl with an valid cert issuer
  • unifi.customdomain.ext an valid and publicly available
  • unifi-customdomain-ext with an custom name for the certificate

Help full links

				
					apiVersion: v1
kind: Endpoints
metadata:
  name: unifi-network
subsets:
  - addresses:
      - ip: 192.168.1.5
    ports:
      - port: 8443
---
apiVersion: v1
kind: Service
metadata:
  name: unifi-network
spec:
  ports:
    - port: 8443
      protocol: TCP
      targetPort: 8443
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: stephan-at-monkeysoft-nl
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  name: unifi-network
spec:
  ingressClassName: nginx
  rules:
    - host: unifi.customdomain.ext
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: unifi-network
                port:
                  number: 8443
  tls:
    - hosts:
        - unifi.customdomain.ext
      secretName: unifi-customdomain-ext