Hi,
I want to add a new SSL certificate to my Kubernetes cluster, and here’s how my routing works:
Suppose my main URL is abc.com
and my ingress host URL is qwe.com
.
So, when I hit abc.com
, it routes like this: abc.com
→ Route 53 → API Gateway → Ingress Host (qwe.com
) → Backend Service.
I get the response while seeing abc.com
in the browser, with backend routing happening behind the scenes. Thus, my ingress URL remains hidden.
Current Ingress Configuration:
yaml
Copy code
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dev-router-master
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range"
spec:
ingressClassName: nginx
rules:
- host: qwe.com
http:
paths:
- path: /api/dao
pathType: Prefix
backend:
service:
name: kyc-service
port:
number: 80
Problem After Adding SSL:
After adding SSL to my NGINX ingress controller, whenever I hit abc.com
, I am able to access the application, but it forwards the site from abc.com
to qwe.com
, and I see qwe.com
in the browser.
Updated Ingress Configuration with SSL:
yaml
Copy code
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dev-router-master
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range"
spec:
ingressClassName: nginx
tls:
- hosts:
- abc.com
- qwe.com
secretName: secret-key
rules:
- host: abc.com
http:
paths:
- path: /api/dao
pathType: Prefix
backend:
service:
name: kyc-service
port:
number: 80
- host: qwe.com
http:
paths:
- path: /api/dao
pathType: Prefix
backend:
service:
name: kyc-service
port:
number: 80
Desired Result:
Whenever I hit abc.com
, I should get a response on abc.com
only, with all backend routing happening invisibly.
Cluster Information:
- Kubernetes Version: AKS cluster with version 1.26.10
- Ingress-NGINX Version:
yaml
Copy code
NGINX Ingress controller
Release: v1.3.0
Build: 2b7b74854d90ad9b4b96a5011b9e8b67d20bfb8f
Repository: https://github.com/kubernetes/ingress-nginx
NGINX Version: nginx/1.19.10
Can anyone help me achieve this without showing my ingress NGINX host URL?