其他分享
首页 > 其他分享> > kubernetes关于证书配置得问题总结

kubernetes关于证书配置得问题总结

作者:互联网

总结证书配置

1.证书首先分为两种配置方式,
1) 一种是在集群中配置
2) 一种是在上游负载均衡中配置。

1)https证书在集群中配置,并域名直接解析到集群的ingress-nginx-controller所在服务器的IP

2).证书配置到上游负载均衡:(证书配置在哪,哪里做重定向以及请求头):
  证书配置在上游时,上游要增加 proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Port 443;并且重定向到https上,通过80端口负载到后端ingress-nginx-controller:

说明:上述两种情况都需修改comfigmap  (nginx-configuration) 内容如下:
   kubectl edit cm nginx-configuration -n ingress-nginx
   data:
     use-forwarded-headers: "true"
     http-redirect-code: '301'              #301转发兼容低版本内核浏览器配置
     max-worker-connections: '65531'        #更改连接数
     proxy-connect-timeout: '720'           #连接超时时间
     server-tokens: 'false'                 #关闭nginx版本号
并且kubernetes得coredns不要配置为内网解析IP 域名,否则访问taskcenter等项目会遇到证书TLS问题。
特殊: 如果上游不做域名强转:我们这里开启ssl-redirect: "true"
      并且 nginx.ingress.kubernetes.io/app-root: /taskcenter 改成nginx.ingress.kubernetes.io/app-root: https://xxx/taskcenter

证书处于上游时 80 和 443 端口转为指向下游得80时,需要做如下操作

   nginx-configuration 开启 use-forwarded-headers: 'true'
1. X-Forwarded-Proto 强制传https
2. X-Forwarded-Port 强制传443端口
如sso和apis得域名与其canvas得不同,那么sso和apis也要上述条件满足

满足以上要求部署不会出现问题

如何检查上述是否加对,在pod中进行tcpdump抓包

抓包命令为:
sudo tcpdump -XX -vvv -nn -w a.log

标签:总结,ingress,Forwarded,kubernetes,证书,配置,nginx,https
来源: https://www.cnblogs.com/jerry-0910/p/15897055.html