首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对底层服务使用nginx入口SSL密码时,主机名(SNI)丢失

对底层服务使用nginx入口SSL密码时,主机名(SNI)丢失
EN

Stack Overflow用户
提问于 2020-06-24 18:31:43
回答 1查看 446关注 0票数 1

我正在尝试用nginx-ingress-controller实现SSL Passtrough.这是我的入口对象:

代码语言:javascript
复制
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: /

控制器args中存在--enable-ssl-passtrough标志。

当请求通过入口控制器到达我的底层服务时,我试图解析SNI,以找出使用哪个域来查找我应该提供的证书,但服务找不到SNI,并返回以下错误:

代码语言:javascript
复制
{"level":"debug","ts":1592992137.1836417,"msg":"Error getting server name","error":"No hostname"}

nginx-ingress-controller在解析时会删除SNI吗?或者,这种行为的原因可能是什么?

提前感谢您的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 17:49:05

我直接联系了nginx-ingress开发人员,我得到的信息是这不起作用的原因是通配符域,这是nginx-ingress不支持的。

其他一切都配置正确,并且当将*.example.com更改为特定的内容(例如whatever.example.com)时,它可以正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62552997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档