gpt4 book ai didi

WCF 服务只需要 HTTPS,但只能在 HTTP 上工作

转载 作者:行者123 更新时间:2023-12-04 04:53:17 24 4
gpt4 key购买 nike

我有一些 WCF 服务已经在 HTTP 上工作了一段时间。

我现在将它们移动到部署服务器,它们只需要 HTTPS。

我获得了证书,当我最初设置它们时,它们同时通过 HTTP 和 HTTPS 工作。

...此时我想放弃对服务的非安全访问。

所以我试图对我的 web.config 进行修改以实现这一点:

服务行为:

  <serviceBehaviors>
<behavior name="MetaEnabledBahavior">
<serviceMetadata httpsGetEnabled="true"/>
</behavior>
</serviceBehaviors>

服务端点:
  <service name="Services.BookingService" behaviorConfiguration="MetaEnabledBahavior">
<!-- Service Endpoints -->
<clear/>
<endpoint address="https://website.com/services/BookingService.svc" binding="wsHttpBinding"
bindingConfiguration="TransportSecurity" contract="Services.IBookingService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>

绑定(bind):
<bindings>
<wsHttpBinding>
<binding name="TransportSecurity" maxReceivedMessageSize="2000000">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</wsHttpBinding>
</bindings>

我现在的结果是我的 HTTP 服务仍然可以访问,但是 HTTPS 访问只是发送一个空白页面。

我需要 HTTP 来返回错误/页面必须由安全 channel 查看,并且 HTTPS 是唯一有效的。

我该如何解决?

最佳答案

Smithy 尝试用以下内容替换您的端点:

<endpoint address="" binding="basicHttpBinding" bindingConfiguration="TransportSecurity" contract="Services.IBookingService"></endpoint>

以及您与 basicHttpBinding 的绑定(bind)
  <basicHttpBinding>
<binding name="TransportSecurity" maxReceivedMessageSize="2000000">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>

希望这可以帮助。

关于WCF 服务只需要 HTTPS,但只能在 HTTP 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17105706/

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