gpt4 book ai didi

spring-boot - Zuul 代理背后的 spring-ws

转载 作者:行者123 更新时间:2023-12-02 01:22:46 25 4
gpt4 key购买 nike

我有一个使用 spring-WS 实现 WSDL 的微服务 (spring-boot)。计划是使用 Zuul 通过网关服务器访问 WSDL。

从网关访问:http//192.168.1.5:8080/integration/ws/test.wsdl

Zuul路由在网关配置:

integration:
sensitive-headers:
path: /integration/**
url: http://localhost:9090

返回的 WSDL 带有正确的端口号 (8080),但主机名不正确。也不会返回前缀“/integration”。

<wsdl:service name="TestPortService">
<wsdl:port binding="tns:TestPortSoap11" name="TestPortSoap11">
<soap:address location="http://localhost:8080/ws"/>
</wsdl:port>
</wsdl:service>

即使我手动设置 X-Forwarded-For header ,主机名似乎也永远不会改变。 [我在没有 Zuul 的情况下测试]。为了让 Spring-WS 在代理后面工作,我缺少什么?我在 Spring Boot 的应用程序属性中设置了 remote_ip_header & protocol_header。

最佳答案

Zuul 在默认转发请求之前,实际上会从请求中剥离代理前缀。对于个别服务,您可以使用 stripPrefix=false 关闭此行为,如下所示。如果你想要所有路由,那么 zuul.stripPrefix=false

application.yml
zuul:
routes:
users:
path: /myusers/**
stripPrefix: false

希望这能解决您的问题。

关于spring-boot - Zuul 代理背后的 spring-ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com