【发布时间】:2020-06-25 17:49:04
【问题描述】:
我正在尝试使用nginx-ingress-controller 实现 SSL Passtrough。这是我的入口对象:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
labels:
my-label: example
name: example
namespace: example
spec:
rules:
- host: '*.example.com'
http:
paths:
- backend:
serviceName: example
servicePort: 8443
path: /
--enable-ssl-passtrough 标志存在于控制器 args 中。
当请求通过入口控制器到达我的底层服务时,我试图解析 SNI 以找出用于找出我应该提供的证书的域,但服务找不到 SNI 并返回此错误:
{"level":"debug","ts":1592992137.1836417,"msg":"Error getting server name","error":"No hostname"}
nginx-ingress-controller在解析的时候会去掉SNI吗?或者这种行为的原因可能是什么?
提前感谢您的帮助
【问题讨论】:
-
您如何尝试从入口获取 SNI?您的云提供商是什么?
标签: nginx kubernetes nginx-ingress