gpt4 book ai didi

带 SSL 的 WCF 不使用任何证书并失败

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:35 24 4
gpt4 key购买 nike

我创建了一个包含多个调用的 WCF,我想使用传输安全保护它,以便它通过 SSL。

所以我在 webmatrix 中配置了 SSL,因为我使用的是 VS2012 + IIS Express,如下所示。 HTTPs configured in Webmatrix on port 44330在端口 44330 上的 Webmatrix 中配置的 HTTP。

我更新了我的 Web.config 以支持一个具有 HTTPS 和传输安全元数据的端点。

<system.serviceModel>

<services>
<service name="Counter" behaviorConfiguration="Behavior">
<endpoint address="https://localhost:44330/Counter.svc"
binding="wsHttpBinding"
bindingConfiguration="HTTPsBinding"
contract="ICounter">
</endpoint>
</service>
</services>

<bindings>
<wsHttpBinding>
<binding name="HTTPsBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>

<behaviors>
<serviceBehaviors>
<behavior name="Behavior">
<serviceMetadata
httpGetEnabled="false"
httpsGetEnabled="true"
httpsGetUrl="" />
</behavior>
</serviceBehaviors>
</behaviors>

现在,当我在浏览器中运行它时,它会将我指向 HTTPS 地址处的元数据,如下所示。 HTTP works but HTTPs failsHTTP 有效,但 HTTPs 失败。

这就是问题所在,它没有使用任何证书,我也没有看到任何东西。 "This page can't be displayed" without any certificate being used.“无法显示此页面”没有使用任何证书。

我该如何解决这个问题或者我做错了什么?

最佳答案

我发现我的问题不在我的 WCF 配置中,因为它在前一天工作。在大量的咖啡、冲浪和命令行之后,我注意到问题出在 IIS Express 上,它是与 netsh http ssl 的 SSL 绑定(bind)。

我使用的是默认的 IIS Express 证书 (CN=localhost),因为我没有像 Sam Vanhoutte 建议的那样包含任何 serviceCertificate。即使在指定证书时,IIS Express 也只使用 CN=localhost,启动 IIS Express 时需要在 LocalMachine > Personal 中。

如果这不能解决您的问题,请尝试重新安装 IIS Express。(它将在正确的位置重新安装 CN=localhost 证书——不要忘记在 Webmatrix 中重新启用 SSL)

关于带 SSL 的 WCF 不使用任何证书并失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com