Rancher负载均衡,访问报308跳转问题
因为要上小程序,在原先的Rancher集群中开启了https。外部应用通过接口访问服务的时候出现“308 Permanent Redirect”,但是直接打开网站没有任何异常。
先来看下308返回码是什么:
在 HTTP 协议中, 308 Permanent Redirect(永久重定向)是表示重定向的响应状态码,说明请求的资源已经被永久的移动到了由 Location 首部指定的 URL 上。浏览器会进行重定向,同时搜索引擎也会更新其链接。
初步怀疑是ingress给强制跳转到了https上。怎么解决呢?
issues/1567给了一个比较好的办法:指定 nginx.ingress.kubernetes.io/ssl-redirect为false,也就是不要对http强制跳转。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: geth
annotations:
namespace: xxp
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /eth
backend:
serviceName: geth
servicePort: 8545
在rancher上可以在负载均衡中添加一个标签nginx.ingress.kubernetes.io/ssl-redirect: "false"
如下图所示
123
怎么我设置了也不生效呢
Pony
@123 : 发一下具体配置和报错日志,才能帮到你