【发布时间】:2019-08-30 16:27:15
【问题描述】:
使用k8s ingress,是否可以使用同一个域将传入的http流量发送到一个端口,将https流量发送到另一个端口?
我在入口规范中没有找到任何东西来做它或在 nginx-ingress-controller 中的注释
【问题讨论】:
-
该配置更像物理负载均衡器,即 TCP/UDP 层。
nginx-ingress适用于 HTTP。
使用k8s ingress,是否可以使用同一个域将传入的http流量发送到一个端口,将https流量发送到另一个端口?
我在入口规范中没有找到任何东西来做它或在 nginx-ingress-controller 中的注释
【问题讨论】:
nginx-ingress 适用于 HTTP。
为此,您将需要两个对象,即服务和入口。您需要配置类似于以下的入口:
spec:
rules:
- host: abc.com
http:
paths:
- backend:
serviceName: myservice
servicePort: 80
path: /uiaccesscontrol
- backend:
serviceName: myservice
servicePort: 443
path: /uiaccesscontrol
并且服务将具有类似于以下给出的配置:
spec:
ports:
- name: http
port: 80
targetPort: 80
- name: https
port: 443
targetPort: 443
现在,https 流量将被路由到安全端口 443 和 http 到 80。
【讨论】: