我有一个在HTTPS
中启用了Loadbalancer
的网络服务。外部URL如下所示:
。
从Loadbalancer为此Web服务禁用HTTP,负载均衡器将所有HTTP请求转换为HTTPS。
当我尝试使用SoapUI或从应用程序使用它并运行时,它会抛出错误请求失败且响应为空。
现在,当我在WSDL中检查SoapAddress时,它是HTTP而不是HTTPS。我将所有内容都更改为HTTPS。即使这样,我也会遇到同样的错误。
经过大量研究,我尝试使用Fiddler捕获流量并发现一些奇怪的东西。当从applicaiton或SoapUI调用该方法时,协议是HTTP,结果是Fiddler中的302.这必然是它失败的原因。
现在,可以做些什么来正常运行HTTPS?为什么呢 即使从浏览器无法调用它,也会转换为HTTP 使用HTTP,我使用https://xyz ...
使用了服务
答案 0 :(得分:0)
您需要确保客户端使用的绑定具有安全模式=" Transport"设置(以及客户端绑定与服务器绑定匹配),例如:
<binding name="yourClientSecureBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
并且客户端确实访问了Web服务的httpS://地址:
<client>
<endpoint bindingConfiguration="yourClientSecureBinding"
address="https://..."
... />
</client>
你没有提供任何代码,所以对于初学者来看看这些帖子:这里(微软开发者网络 - 带有匿名客户端的传输安全性)和这里(带有BasicHTTPBinding的Https)。
基于Link