侧边栏壁纸
博主头像
OUCOS运维技术博客 博主等级

行动起来,活在当下

  • 累计撰写 11 篇文章
  • 累计创建 10 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录
K8S

K8S ingress重定向307跳转,https无法切换回http访问

OUCOS
2022-12-16 / 0 评论 / 0 点赞 / 149 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-10-07,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

项目在使用K8S部署中遇到问题,当nginx-ingress配置了https访问之后,浏览器访问了https地址之后,无法切换回http访问,控制台显示307转跳

链接

K8S官网:https://kubernetes.io/

ingress官方文档:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts

解决方案

检查是否关闭强制SSL转跳

在对应pod的ingress配置文件中检查是否关闭强制SSL跳转

nginx.ingress.kubernetes.io/ssl-redirect: "false"

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

  name: #APP_NAME

  namespace: #BASE_ENV-env

  annotations:

    kubernetes.io/ingress.class: "nginx"

    nginx.ingress.kubernetes.io/ssl-redirect: "false"	//关闭强制SSL跳转

    nginx.ingress.kubernetes.io/cors-allow-origin: "*"

nginx-ingress的configmap配置文件禁用HSTS

当出现307状态码时,就是HSTS保护策略拒绝了HTTP请求,这种情况单纯清理缓存无法处理,需要使用无痕窗口测试,当第一次访问http正常,访问过https再切换http出现307时就是HSTS策略问题

查看configmap,寻找ingress配置文件

kubectl get configmap -n kube-system

微信截图_20221216081522

编辑nginx-ingress的configmap配置文件,添加hsts: "false"

kubectl edit configmap ingress-nginx -n kube-system

# 在data里面添加hsts: "false"

apiVersion: v1

data:

  hsts: "false"

微信截图_20221216082005

重启nginx-ingress服务

找到对应的nginx-ingress服务pod,进行无配置文件更新

# 查找ingress的pod

kubectl get pod -n kube-system

# 重启ingrss服务,分别将所有ingress的pod都执行一边即可

kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -

微信截图_20221216082324

0

评论区