Rancher负载均衡,访问报308跳转问题


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"如下图所示

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Rancher负载均衡,访问报308跳转问题


愿你勿忘初心,并从一而终