ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

腾讯云TKE ingress http和https混合使用

2021-12-08 10:04:17  阅读:169  来源: 互联网

标签:ingress TKE http io tencent https com


我的环境需要服务http和https都支持访问,根据腾讯云的官方文档添加注解后无效:

https://cloud.tencent.com/document/product/457/45693

注解示例:

kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.http-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
    kubernetes.io/ingress.https-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
    kubernetes.io/ingress.rule-mix: "true"
  name: sample-ingress
  namespace: default
spec:
  rules:
  - host: www.tencent.com
    http:
      paths:
      - backend:
          serviceName: sample-service
          servicePort: 80
        path: /
  tls:
  - secretName: tencent-com-cert

配置后经过测试无效,还是http自动跳转到https,通过查看nginx-ingress官方注解,需要添加 ssl-redirect: "false" in the NGINX ConfigMap. (全局生效)或者添加ingress注解:nginx.ingress.kubernetes.io/ssl-redirect: "false"

设置后仍然无效,还是继续跳转https,通过查看返回码发现,我这边通过http访问的适合,重定向码为307,官方注解说的是308,可能是这个原因,于是重写 http-redirect-code

编辑configmap,添加如下参数:

 

再次测试,终于正常了

 

 总结:腾讯的tke集群的ingress如果要实现http和https混合使用,需要配置以下三个地方:
1.根据官方文档配置如下注解:

    kubernetes.io/ingress.http-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
    kubernetes.io/ingress.https-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
    kubernetes.io/ingress.rule-mix: "true"

2.configmap或者目标ingress关闭ssl_redirect

3.如果还是不行,需要修改configmap的http-redirect-code

 

标签:ingress,TKE,http,io,tencent,https,com
来源: https://www.cnblogs.com/slim-liu/p/15660041.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有