【发布时间】:2020-02-24 18:45:20
【问题描述】:
我对使用 helm 图表部署容器非常陌生,而且我也从未使用过 nginx 控制器或入口控制器。 但是,我被要求考虑改进我们的内部 nginx 入口控制器以允许 SSL 直通。
现在我们有外部(面向公众)和内部控制器。公共的允许 SSL 直通,而内部的则有 SSL 终止。 我还被告知 nginx 是一个反向代理,它基于 URL 中的标头工作。
我希望有人可以帮助我解决这个用于内部入口控制器的掌舵图。 目前我的印象是,在同一个入口控制器上具有 SSL 终止和 SSL-passthrough 是不可能的。 我自己回答了这个:https://serversforhackers.com/c/tcp-load-balancing-with-nginx-ssl-pass-thru
我们当前的(内部)入口代码:
---
rbac:
create: true
controller:
ingressClass: nginx-internal
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:eu:110:certificate/62-b3
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: !!str 443
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: !!str 3600
targetPorts:
https: 80
replicaCount: 3
defaultBackend:
replicaCount: 3
我可以简单地添加以下内容吗? :
controller:
extraArgs:
enable-ssl-passthrough: ""
注意:以上代码是我们在外部入口控制器上使用的代码。
另外,我发现了这个: Ingress and SSL Passthrough
我可以去混合注释吗?还是注释只关心注释来自的“顶级域级别”? 例如:
service.beta.kubernetes.io
nginx.ingress.kubernetes.io
两者都来自域 kubernetes.io,还是子域有影响? 我的意思是:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md 该页面上没有显示任何 service.beta 注释..
注解中的extraArg ssl-passthrough 配置和ssl-passthrough 配置有什么区别?
我主要在寻找有关如何在不破坏内部入口控制器上的 SSL 终止的情况下使 SSL 直通工作的答案。 但是,就我的其他问题而言,获得更多洞察力和知识的任何额外信息也将不胜感激:)
【问题讨论】:
标签: ssl nginx kubernetes kubernetes-helm nginx-ingress