Я пытаюсь получить https на обоих веб-интерфейсах в качестве моего API для домена. Я попробовал с nginx ingress. Это хорошо работает для www.example.com, но теперь мне нужно добавить API на api.example.com. Я пытался следующим образом, но безрезультатно. Удаление разделов, связанных с API, и он отлично работает для веб-интерфейса, в противном случае веб-интерфейс также не работает. Как я могу указать свой входной файл так, чтобы он добавлял https на api.example.com и аналогично на доменах www.example.com?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/add-base-url: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
certmanager.k8s.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- www.example.com
- api.example.com
secretName: example-secret
rules:
- host: www.example.com
http:
paths:
- path: /
backend:
serviceName: web-cluster-ip-service
servicePort: 5000
- host: api.example.com
http:
paths:
- path: /
backend:
serviceName: api-cluster-ip-service
servicePort: 5005
Файл certmanager настроен следующим образом.
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
name: example-tls
spec:
secretName: example-secret
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
commonName: example.com
dnsNames:
- example.com
acme:
config:
- http01:
ingressClass: nginx
domains:
- example.com