k8s ingress location容器化重定向端口丢失

文章讲述了在SpringBoot项目部署到Kubernetes并使用Ingress代理时,登录后页面重定向丢失端口的问题。提供了两种解决方法,包括在Ingress的annotations中配置`use-port-in-redirects`和`proxy-redirect`参数,后者解决了实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

springboot web项目部署在k8s中,使用ingress代理,登录成功后,页面重定向请求地址URL中端口丢失,导致页面重定向跳转失败。

F12控制台调试模式下,对比容器化和非容器化重定向响应头Response Headers,可以发现重定向后端口丢失:

       正常重定向: Location: http://127.0.0.1:8080/A/login

容器化后重定向: Location: http://127.0.0.1/A/login

解决方法

1、在k8s的ingress的注解annotations中,添加配置参数:

nginx.ingress.kubernetes.io/use-port-in-redirects: "true" # 开启端口地址重写

apiVersion: v1
kind: Ingress
metadata:
  name: app-ingress
  namespace: app
  annotations:
    kubernetes.io/ingress.class: "nginx" ##指定Ingress Controller的类型
    nginx.ingress.kubernetes.io/use-port-in-redirects: "true" # 开启端口地址重写

2、在k8s的ingress的注解annotations中,添加两个配置参数:

nginx.ingress.kubernetes.io/proxy-redirect-from: "http://127.0.0.1"
nginx.ingress.kubernetes.io/proxy-redirect-to: "http://127.0.0.1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值