使用 nginx-ingress 通过自定义 HTTPS 端口访问服务

Access service via custom HTTPS port using nginx-ingress

在 Kubernetes 中使用 nginx-ingress 时,如何定义应用于 HTTPS 的自定义端口,而不是 443?我的配置如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/tls-acme: "true"
  creationTimestamp: "2019-04-17T14:15:25Z"
  generation: 3
  name: foo
  namespace: foo
  resourceVersion: "1535141"
  selfLink: /apis/extensions/v1beta1/namespaces/foo/ingresses/foo
  uid: f1b4dae9-6072-1239-a12a-fa161aff25ae
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: foo
          servicePort: 80
        path: /
  tls:
  - hosts:
    - example.com
    secretName: foo-ingress-tls
status:
  loadBalancer:
    ingress:
    - {}

我希望能够在默认 443 端口和额外的自定义端口上通过 HTTPS 访问该服务。

不幸的是,ingress-nginx 无法监听多个 HTTPS 端口。您可以使用 --https-port 命令行参数更改 HTTPS 端口号,但只能有一个 HTTPS 端口。