总结证书配置
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。