加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WCF WebService/IIS防火墙后的主机和配置问题

发布时间:2020-12-16 21:35:08 所属栏目:安全 来源:网络整理
导读:我有一个简单的WCF Web服务。它在IIS的托管在我们的生产域中的默认网站下。 (本地地址:10.10.20.100) 默认情况下,这个默认网站在端口80上设置为“所有未分配”IP:然而,我注意到,这导致WCF服务使用服务器本地DNS名称生成它的WSDL。即wsdl中的所有URI htt
我有一个简单的WCF Web服务。它在IIS的托管在我们的生产域中的默认网站下。 (本地地址:10.10.20.100)

默认情况下,这个默认网站在端口80上设置为“所有未分配”IP:然而,我注意到,这导致WCF服务使用服务器本地DNS名称生成它的WSDL。即wsdl中的所有URI

http://myserver.subdomain.domain.com/.../...

这不是好事,因为我需要向不了解生产环境内部DNS的网站公开此服务。此特定服务器没有外部DNS名称。只是外部IP地址…

我已经取得了一些成功,在IIS中更改设置从“所有未分配” – > “10.10.20.100”

这导致服务使用URI生成它的WSDL

http://10.10.20.100/.../...

这对于子域和其他子域中的其他机器来说很好,但是在这里我被卡住了。服务器外部IP地址(1.2.3.4)通过一些NAT / PAT转换映射,因此它没有在服务器IP设置中显式设置(即它不显示在IP配置下)

所以如果我更改IIS默认网站IP地址从“所有未分配” – > “1.2.3.4”,就像我对内部地址,然后WCF服务只是回来了…

错误请求(无效的主机名)

如果我留下IIS配置在内部IP地址,并尝试通过外部IP地址访问服务,我得到

No protocol binding matches the given address 
'http://1.2.3.4/TestService/Service.svc'. Protocol bindings are 
configured at the Site level in IIS or WAS configuration

有什么办法使IIS / WCF生成它的WSDL URI的外部IP地址,没有在服务器上显式配置?

有人帮助我,之前我dropkick WCF服务出窗口。

解决方法

这是因为您没有设置主机标头。这似乎是一个非常常见的问题,我总是遇到它。没有为它生成的uris配置,它通过检查网站的主机头来查找正确的地址。即使它在一个虚拟目录,你需要去父,在你的情况下,默认目录,并添加一个主机头。

让我知道,如果你不知道如何做到这一点。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读