AnyShare-AnyShare Family 7公有云https访问时提示too many redirect
关键字
too many redirect,加载时间较长,请耐心等待
适用产品
- AnyShare 7.0.4.9及之前版本
问题描述
公有云部署时如slb选择前端https协议443端口转发到后端AS80的http端口,部署完成后,主页、部署控制台、管理控制台会无法访问,提示“加载时间较长,请耐心等待...”
问题影响
主页、deploy部署控制台、console管理控制台等无法访问
问题原因
F12进入开发者模式能看到,/api/deploy-web-service等接口无法正常加载,提示“net::ERR_TOO_MANY_REDIRECTS”

报错提示多次重定向循环,原因是AS7049之前的版本存在auto-regstry-service-class-443的ingress,其中force-ssl-redirect配置项默认为true,该配置项会拒绝http请求并重定向到https,造成https-http-https的循环
解决方案
截止AS7049版本,关于443/80端口的ingress控制器存在以下两个

其中auto-regstry-service-class-443的ingress控制器中force-ssl-redirect配置项默认为true

执行以下命令完成更改:
kubectl -nanyshare patch ingress auto-regstry-service-class-443 -p '{"metadata": {"annotations": {"nginx.ingress.kubernetes.io/force-ssl-redirect": "false"}}}';

将ingress-443的pod重启后即生效
kubectl -nanyshare rollout restart ds nginx-ingress-controller-class-443
更多信息
AnyShare7.0.5之后版本,443端口的ingress控制器只保留了rule-443一个,且配置项无需更改,不会再出现此问题