【发布时间】:2023-03-18 13:54:01
【问题描述】:
是否可以通过 https 而不是 http 提供 WCF 而无需在 IIS 7.5 中设置 SSL 配置?
我们有一个 wcf 为 http://service.com/service.svc 。在内部,我可以以http://service.com/service.svc 的身份访问,但是当外部用户访问它时……他们默认重定向到https://service.com/service.svc。 HttpS 链接不是 http。浏览器显示用户的 wcf 信息,但仅在以 https 访问时显示。
当网络外的用户使用 WCFTestClient.. 访问时会出现此错误
错误:无法从https://service.com/service.svc 获取元数据
如果这是您有权访问的 Windows (R) Communication Foundation 服务,
请检查您是否已在指定地址启用元数据发布。
有关启用元数据发布的帮助,请参阅 MSDN 文档,网址为
http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata 交换错误
网址:https://service.com/service.svc
元数据包含无法解析的引用:'https://service.com
但是,WCF cab 是在 WCFtestclient 内部以 http://service.com/service.svc 访问的,但在 testclient 或浏览器上不是 https://service.com/service.svc。
知道如何解决此错误...??可能是防火墙将所有请求传递给外部用户的 https。
这是我之前关于同一问题的详细帖子..
由于我无法将 WCF 作为 Http 提供给外部用户使用。我想看看是否可以在不通过 SSL 的情况下在 https 上使用它。
【问题讨论】:
-
我认为可以实现的方法是将您的设置配置为包括 -
-
为什么要在不设置 SSL 配置的情况下使用 https?
-
我刚刚更详细地更新了我的问题。
-
我从网络团队获得了有关此问题的更多信息。我们正在使用 JUniper 网络进行反向代理。它只允许像带有自己的 SSL 证书的 HTTPS 一样进行传输。所以我被要求将 WCF 公开为 HTTPS。我怎样才能做到这一点,而不必在我的最后创建 SSL 证书?。
标签: c# asp.net wcf iis-7 windows-firewall