一:问题描述
公司用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
springgatway400问题
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- springboo2+springcloud+security-oauth2+redis实现单点登录文章目录spr...
- 16. Troubleshooting 本部分介绍使用Spring Cloud Gateway时可能出现的常见问题...
- 目录 1.How to Include Spring Cloud Gateway2.Glossary3.How I...
- 基于分布式微服务架构 SpringCloud=分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,...