gpt4 book ai didi

wcf - IIS 7 中安全模式 TransportWithMessageCredential 的 WsHttpBinding 不起作用

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

我们目前正在将 WCF 服务从 IIS 6 迁移到 IIS 7。该服务包含一些用于内部流传输目的的非 SSL 端点和一些使用 SSL 保护的公开端点。

公共(public)安全端点是使用 wsHttpBinding 和安全模式 =“TransportWithMessageCredential” 实现的。绑定(bind)内容如下:

<wsHttpBinding>
<binding name="CustomSecurityBinding">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>

凭据根据自定义用户存储库进行身份验证以进行验证。

将服务部署到 IIS 7(64 位 Win2k8)后,所有服务(basicHttpBindings)都正确响应,wsHttpBindings 除外。如果使用 https 触发,我们总是会收到 HTTP 400 状态代码(错误请求)。

在 IIS 中启用跟踪后,我们可以缩小问题的范围,尽管来自跟踪的消息并没有真正帮助:

MODULE_SET_RESPONSE_ERROR_STATUS Warning
ModuleName="ManagedPipelineHandler", Notification="EXECUTE_REQUEST_HANDLER",
HttpStatus="400", HttpReason="Bad Request", HttpSubStatus="0", ErrorCode="Der
Vorgang wurde erfolgreich beendet. (0x0)", ConfigExceptionInfo=""

到目前为止完成的步骤:

  • 在 IIS 7 中重新安装了 WCF 扩展 (ServiceModelReg.exe -r -y)
  • 为主机启用https协议(protocol),为主机添加自签名证书
  • 在 wcf 配置中尝试 dns/identity 设置
  • 向 wcf 服务配置添加基地址

经过 2 小时的谷歌搜索并尝试完成这项工作后,作为最后的希望,我问你:有人知道 IIS 7 的这种奇怪行为吗?

最佳答案

您是否已验证在 applicationHost.config (%windir%\system32\inetsrv\config\schema\IIS_Schema.xml) 中配置了 SSL 绑定(bind),并且 HTTP.sys 存储包含有效的证书和存储名称捆绑?其次,真正的错误可能会被 400 错误掩盖,您是否尝试过更改配置中的 wsHttpBinding 以将 maxBufferPoolSize 和 maxReceivedMessageSize 增加到一些极高的值,看看这种情况是否会继续?

关于wcf - IIS 7 中安全模式 TransportWithMessageCredential 的 WsHttpBinding 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967881/

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