使用 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 端口。
在 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 端口。