Error while exposing keycloak using nginx -- urgent help required

I’m trying to expose keycloak in a public domain. I have keycloak running as a pod in AKS, when I try to hit my keycloak with pod ip, it works perfectly, whereas with the gateway domain url, unable to hit keycloak.

Application Architecture:
Frontend (reactjs - calling keycloak for authentication using keycloak library) → keycloak (authenticates user and returns token) → Wso2 ( as API gateway with keycloak as key manager in it) → backend (python fastAPI)

Deployment File:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: keycloak
  namespace: app
  labels:
    app: keycloak
spec:
  replicas: 1
  selector:
    matchLabels:
      app: keycloak
  template:
    metadata:
      labels:
        app: keycloak
    spec:
      containers:
      - name: keycloak-container
        image: image1
        imagePullPolicy: Always
        command: ["/opt/keycloak/bin/kc.sh", "start"]
        env:
        - name: KC_PROXY
          value: "edge"
        - name: KC_HOSTNAME_STRICT
          value: "false"
        - name: KC_HTTP_ENABLED
          value: "true"
        - name: KC_HOSTNAME_STRICT_HTTPS
          value: "true"
        - name: KC_LOG_LEVEL
          value: "INFO"
        - name: KC_HEALTH_ENABLED
          value: "true"
        - name: KC_METRICS_ENABLED
          value: "true"
        - name: KEYCLOAK_USER
          value: admin
        - name: KEYCLOAK_PASSWORD
          value: <password>
        - name: KC_PROXY_HEADERS
          value: "xforwarded"
        - name: KC_HOSTNAME_URL
          value: "https://xyz.net/admin"
        - name: KC_HOSTNAME_ADMIN_URL
          value: "https://xyx.net/admin"
        - name: KC_CONTEXT_PATH
          value: "/admin"
        ports:
        - name: http
          containerPort: 8080
        - name: https
          containerPort: 8443
      imagePullSecrets:
        - name: app-secret

Ingress file:

---
# Keycloak API Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: webapp-keycloak-ingress
  namespace: app
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
#nginx.ingress.kubernetes.io/cookie-based-affinity: "true"
    nginx.ingress.kubernetes.io/backend-hostname: "xyz.net"
    nginx.ingress.kubernetes.io/request-timeout: "120"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-forwarded-headers: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  ingressClassName: webapp-ingress
  tls:
  - secretName: app-og
    hosts:
      - xyz.net   
  rules:
  - host: xyz.net
    http:
      paths:
      - path: /admin(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: keycloak-service-
            port:
              number: 8080
# Resources (themes, assets)
      - path: /admin/resources(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: keycloak-service- 
            port:
              number: 8080
      # JavaScript adapter
      - path: /admin/js(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: keycloak-service- 
            port:
              number: 8080



When I try to hit xyz.net/admin it shows " the page isn’t working .. too many redirects"

Without any logs, it’s impossible to help here.

Regarding the “too many redirects” issue, it’s a common error that usually indicates a misconfiguration. Check the browser console and Keycloak logs for more details.