spring-boot - 如何禁用/配置位置标头的 Spring Cloud Gateway 重写
问题描述
我们有一个 Spring Cloud Gateway 的设置,它运行 consul 服务发现并将请求代理到集群中的服务。
当这些服务之一以标头响应时,该Location: /
标头会在通过网关的途中被重写。
问题是网关似乎添加了在 Consul 中找到的服务本地主机名和端口。这个 url 对客户端当然是不可用的(或不可取的)。
我已经验证了上游服务器发送:
Location: /
(由“redirect:/”Spring MCV 简写生成)
但是当它到达最终客户端时被重写为:
Location: https://10.0.0.10:34567/
(https://10.0.0.10:34567/是 consul 中服务的上游位置)
如果当然是不正确的。
我的问题是我找不到任何关于如何配置它的文档,也没有说明使用了哪些类(用于调试),所以我只是不知道从哪里开始寻找修复程序。
期望的行为当然是保持重定向不变。
在这种特殊情况下,我们使用基于主机的路由设置:
.route("app", r -> r.host("app.**").uri("lb://app"))
任何帮助或提示表示赞赏。
解决方案
推荐阅读
- css - 在 Antd Collapse Panel Header 中将 2 个 DIV 与 Extras 一起排列在另一个下方
- mapbox - Mapbox Geocoder 与屏幕键盘集成
- ruby-on-rails - 是否可以在没有任何重定向的情况下进行 Devise 登录、注销等操作?
- python - pd.Series.str.contains 的矢量化版本
- networking - 在 GCP 项目中为 jumphost 加载部署管理器
- sql - ORDER BY 导致的 Oracle SQL 子查询语法错误
- c# - 如何以更动态的方式设置 C# 向下转换
- python - 使用Python selenium xpath如何获取网站信息,获取六大洲,国家人口排名按数字降序排列
- json - jmeter:我想从 2 个不同的 json 对象中提取 2 个值,其中 1 个 json 对象将验证我的条件和我想提取的其他值
- matlab - Matlab的音频插件参数总是滑块?