如何指定Ingress访问后端服务的协议

容器与中间件容器服务技术服务知识库
问题描述

通过 Ingress 代理后端服务,并且在 Ingress 配置了 https 证书,Ingress 访问后端服务时默认会卸载掉证书,通过 http 方式访问后端服务;如何配置使Ingress访问后端服务也使用https。

问题分析

如果需要 Ingress 通过 https 访问后端服务,此时需要在 Ingress 中添 annotations,指定使用什么协议访问后端服务。

问题处理

如下 Ingress yaml 文件,在其中添加 nginx.ingress.kubernetes.io/backend-protocol

apiVersion: networking.k8s.io/v1
kind: Ingress 
metadata:            
  name: ingress-tomcat   
  namespace: default   
  annotations:        
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:     
  rules:  
  - host: xxx.xxx.com 
    http:
      paths:       
      - pathType: Prefix
        path: "/"     
        backend: 
          service: 
            name: svc-xxx
            port: 
              number: 80
问题总结

该 annotations 除了支持 https 协议,还支持指定 HTTP, GRPC, GRPCS, AJP and FCGI

参考链接

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#backend-protocol 如果您有其他问题,欢迎您联系火山引擎技术支持服务

23
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论