WCF HTTPS协议下的WSDL地址

6
常见的WCF问题似乎是如何解决wsdl中主机名的解析,以链接到其他文件。问题在于将计算机的机器名称放入wsdl以链接其他wsdl文件,因此如果您访问http://myhost/service.svc,它可能会指向另一个位置上的wsdl的其余部分,即http://mypc/service.svc?wsdl,这显然是外部无法看到的。
已经有一些解决方案可用,其中包括设置主机标头的常见方法。 我的问题是,当使用外部IP时,我该如何解决这个问题。我正在从客户网站连接到总部以检索数据,它没有设置DNS等,并且IP重定向到内部机器。是否有任何方法可以强制托管WCF的机器在wsdl文件中呈现外部地址而不是机器名称?
我正在使用SSL进行连接,这可能会有所不同(与主机标头一样)。
2个回答

4

谢谢您的回答,但是那只涵盖了使用替代主机名的情况。它并没有解决使用IP访问Web服务的问题。 - dnolan
你尝试过将外部IP添加到主机头中吗?例如\Securebindings "443:ip.ip.ip.ip"? - Ray Lu

0

是的,您可以将IP地址设置为主机头。只需确保外部IP地址在内部也被正确识别。我曾经在我们的一个项目中吃过亏,当时我们使用ISA服务器作为代理。

如果您曾经遇到过这种情况,并且仍然坚持使用外部IP地址作为主机头,则您唯一的选择是将Web服务的机器名称添加到hosts文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接