如何为端到端tls连接启用nginx入口

如何为端到端tls连接启用nginx入口,nginx,kubernetes,nginx-ingress,Nginx,Kubernetes,Nginx Ingress,如何使nginx入口支持端到端TLS连接而无需直通。PublicCA允许使用Ingress LoadBalancer,并且后端服务器也使用PrivateCA在TLS端口上运行 以下入口定义将在边缘上安装公共证书的情况下执行TLS卸载 apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx name: wbqgdimtzx na

如何使nginx入口支持端到端TLS连接而无需直通。PublicCA允许使用Ingress LoadBalancer,并且后端服务器也使用PrivateCA在TLS端口上运行

以下入口定义将在边缘上安装公共证书的情况下执行TLS卸载

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  name: wbqgdimtzx
  namespace: default
spec:
  rules:
  - host: 0cloud0.com
    http:
      paths:
      - backend:
          serviceName: wbqgdimtzx
          servicePort: 443
        path: /
  tls:
  - hosts:
    - 0cloud0.com
  secretName: 0cloud0-wildcard-certs
status:
  loadBalancer:
    ingress:
    - {}
后端吊舱在安全端口上运行,出于安全原因,不允许使用纯文本连接

为了支持端到端设置,我需要在nginx入口中进行哪些上游更改

基于添加的Amit响应

nginx.ingres.kubernetes.io/backend-protocol:HTTPS


基于@Amit Kumar Gupta的评论,我将此作为社区维基发布,以提高可视性

作为YAML中的OP,他使用
servicePort:443
tls
指定了后端,但这不足以确保end2end连接的安全。 NGINX默认使用
HTTP
。如果您只想以
HTTPS
的身份访问您的服务,您必须向
ingres
YAML添加注释

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: wbqgdimtzx
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
...

基于@Amit Kumar Gupta的评论,我将此作为社区维基发布,以提高可见性

作为YAML中的OP,他使用
servicePort:443
tls
指定了后端,但这不足以确保end2end连接的安全。 NGINX默认使用
HTTP
。如果您只想以
HTTPS
的身份访问您的服务,您必须向
ingres
YAML添加注释

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: wbqgdimtzx
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
...

你试过了吗:@AmitKumarGupta在添加了backed协议之后,它的抛出很糟糕Gateway@AmitKumarGupta坏网关已解决,谢谢您的帮助Suggestion@AmitKumarGupta你能补充你的答案吗?如果有人搜索类似的问题,它将使您的解决方案更为明显。您是否尝试过:@AmitKumarGupta在添加了备份协议后,其抛出错误Gateway@AmitKumarGupta坏网关已解决,谢谢您的帮助Suggestion@AmitKumarGupta你能补充你的答案吗?如果有人搜索类似的问题,它将使您的解决方案更加可见。