Укажите вход Nginx для веб и API - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь получить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...