gpt4 book ai didi

web-services - 具有自定义绑定(bind)的 WCF REST 服务的 SSL 配置

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:32 26 4
gpt4 key购买 nike

我有一个 WCF REST 服务,它必须接受来自客户端的原始输入流。为了接收原始流,我在我的 web.config 文件中使用自定义绑定(bind)。如果我将其设置为通过标准 HTTP 进行连接,则该服务工作正常。但是,我很难让它通过 HTTPS 工作。

消息级安全性不支持手动寻址。配置绑定(bind)(“CustomBinding”、“http://tempuri.org/”)以使用传输安全性或不进行手动寻址。

以下是我用于 HTTP 的配置:

<service behaviorConfiguration="LocalBehavior" name="RestService.CreditService">
<endpoint address="" behaviorConfiguration="web" binding="customBinding" bindingConfiguration="RawReceiveCapable" contract="RestService.ICreditService" />
</service>

<behavior name="LocalBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>

<endpointBehaviors>
<behavior name="web">
<webHttp />
</behavior>
</endpointBehaviors>

<binding name="RawReceiveCapable">
<webMessageEncoding webContentTypeMapperType="RestService.Data.RawContentTypeMapper, RestService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<httpTransport manualAddressing="true" maxReceivedMessageSize="524288000"
transferMode="Streamed" />
</binding>

这是我用于 HTTPS 的配置:

<service behaviorConfiguration="SecureBehavior" name="RestService.CreditService">
<endpoint address="basic" behaviorConfiguration="web" binding="customBinding" bindingConfiguration="RawReceiveCapable" name="httpsEndpoint" contract="RestService.ICreditService" />
<host>
<baseAddresses>
<add baseAddress="http://sitcreditserviceszalecorp.cloudapp.net:3389/CreditService.svc" />
<add baseAddress="https://sitcreditserviceszalecorp.cloudapp.net:443/CreditService.svc" />
</baseAddresses>
</host>
</service>

<behavior name="SecureBehavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
</behavior>

<binding name="RawReceiveCapable">
<webMessageEncoding webContentTypeMapperType="RestService.Data.RawContentTypeMapper, RestService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<security authenticationMode="CertificateOverTransport"
requireSecurityContextCancellation ="true">
</security>
<httpsTransport manualAddressing="true" maxReceivedMessageSize="524288000" transferMode="Streamed" authenticationScheme="Anonymous" requireClientCertificate="false" />
</binding>

谁能指出我做错了什么?谢谢。

最佳答案

在我遇到一篇建议删除安全元素的文章之前,我遇到了同样的问题。这对我有用。

关于web-services - 具有自定义绑定(bind)的 WCF REST 服务的 SSL 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34761443/

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