springgatway400问题

一:问题描述
公司用spring-gateway作为业务网关,因为有很多属地项目,也有很多其他部门需要用的网关,所以很多地方都克隆中台网关在自己部门或者属地部署一份,起初发现,网关转发到网关后,前面一层网关去请求接口返回400,这时候去后面网关看日志,发现并没有任何日志,当时通过k8s日志也未发现任何日志
二:问题原因
后端网关接口直接用postman或者浏览器调用完全没有问题,通过对比请求header和参数,完全用postman模拟第一层网关操作,重新400现象,所以逐渐去除header参数,去后面网关请求,发现host和forward-host去除后可以正常访问,中间重新设置host,或者在spring-gateway重写host或者在netty层重写host相关参数,依然无效
三:解决办法
spring-gateway加入一下配置,正常访问
spring.cloud.gateway.x-forwarded.host-enabled = false
spring.cloud.gateway.x-forwarded.port-enabled = false
spring.cloud.gateway.x-forwarded.proto-enabled = false
spring.cloud.gateway.x-forwarded.for-enabled = false

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容