首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用kubernetes nginx-ingress反向代理具有SNI支持的站点

使用kubernetes nginx-ingress反向代理具有SNI支持的站点
EN

Stack Overflow用户
提问于 2019-10-03 00:20:54
回答 1查看 1K关注 0票数 1

我使用kubernetes nginx-ingress设置了一个反向代理,但我不知道如何将nginx参数添加到配置中,特别是:proxy_ssl_server_name。如何在yaml配置中设置入口参数?

我已经尝试使用server-snippet注释,但似乎没有向集群pod中的nginx.conf文件添加参数。

以下是反向代理的当前代码:

代码语言:javascript
复制
kind: Service
apiVersion: v1
metadata:
  name: formstack
  namespace: serves
spec:
  type: ExternalName
  externalName: fluidsignal.formstack.com
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: formstack
  namespace: serves
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/upstream-vhost: "fluidsignal.formstack.com"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
  - hosts:
    - fluidattacks.com
    secretName: fluidattacks-cert
  rules:
  - host: fluidattacks.com
    http:
      paths:
      - backend:
          serviceName: formstack
          servicePort: 443
        path: /forms(.*)

在设置代理之后,我从Nginx得到一个502 Bad Gateway错误。在查看pods日志之后,我发现我得到了以下openssl错误:SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40,这就是为什么我要添加我之前提到的参数。

EN

回答 1

Stack Overflow用户

发布于 2019-10-03 04:08:26

我刚刚意识到我确实使用了正确的注释:nginx.ingress.kubernetes.io/server-snippet

但是我需要添加一个额外的参数:proxy_ssl_name

添加以下代码修复了该问题:

代码语言:javascript
复制
nginx.ingress.kubernetes.io/server-snippet: |
  proxy_ssl_name fluidsignal.formstack.com;
  proxy_ssl_server_name on;

现在一切似乎都很正常:D

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

https://stackoverflow.com/questions/58205501

复制
相关文章

相似问题

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