web-services - 从连接到 Azure 应用程序网关的浏览器访问 WSDL 文件时,Azure VM 的私有 IP 地址作为 WSDL 文件中的地址返回
问题描述
我有一个在 tomcat 上运行的 SOAP 服务,该服务部署在 Azure 缩放集中。我有一个 Azure 应用程序网关,它的字体结束了规模集。当我尝试使用应用程序网关 DNS 通过 Web 浏览器访问 wsdl (/service?wsdl) 文件时,返回的 wsdl 具有处理其中文件的 VM 的私有 IP 地址。这可以防止端点被访问,因为它们是私有的。如果我直接访问后端 VM 的 DNS 名称的 wsdl,则返回的地址包含我向其发送请求的 VM 的公共主机名,并且可以从其公共主机名访问。当我在扩展组前面使用 AWS ELB 在 AWS 环境中部署类似的部署时,我没有遇到这个问题。
我可以通过将 tomcat 连接器配置为使用 proxyName 和 proxyPort 来指定 Azure 应用程序网关的主机名来使其工作。但是,还有其他 SOAP 客户端需要直接在同一个连接器上访问后端 VM,并且通过为连接器指定代理参数,它们也会强制它们通过 Azure 应用程序网关。
我意识到可以配置不同的 tomcat 连接器来解决这个问题,但这不是后端应用程序的最佳解决方案。
那么问题来了。是否有一些我可以更改的 Azure 应用程序网关配置设置,所以我可以像 AWS ELB 一样工作,而不必使用 proxyName tomcat 参数?
谢谢。
解决方案
推荐阅读
- python - 如何编写一个在给定数组下返回最大概率的函数?
- spring-data-jpa - 尽管存在一对一的实体关系,但仍能创建新记录
- youtube-api - 自动播放不适用于选项 autoplay=1
- android - 当设备不支持时,NFC 权限是否会导致错误?
- python - 序列化程序 - Django REST 框架(AttributeError: Got AttributeError when trying to get a value for field `user` on serializer)
- javascript - react-custom-scrollbar 不适用于 SpringScrollbar
- raspberry-pi - 如何在树莓派上安装 Boost 库
- ios - 如何使用 NSCoding 向现有的键控档案添加新键和值
- asp.net-mvc - 如何在 Nopcommerce 中自定义 onepagecheckout?
- entity-framework-core - 实体类型“UserGroupLink”需要定义一个主键。这是多对多的关系