0

我有同一个概念验证网站的两个版本:不安全版本:

http://www.tlsadmin.com/tlsadmin/PortalHome.aspx

和安全版本:

https://www.tlsadmin.com/tlsadmin/PortalHome.aspx

我遇到的问题是我的基于 WCF 的 Web 服务似乎无法在 HTTPS 下运行。有什么我遗漏或不了解的吗?我认为 SVC 文件的相对 URL 将涵盖所有内容

<asp:ScriptManager ID="ScriptManager1" runat="server" >
    <Services>
        <asp:ServiceReference Path="~/Services/Contacts.svc" />
        <asp:ServiceReference Path="~/Services/Domains.svc" />
        <asp:ServiceReference Path="~/Services/TreeViewNavigation.asmx" />
        <asp:ServiceReference Path="/Services/FullSoaSchedulerService.svc/json" />
    </Services>
</asp:ScriptManager>

也许我需要为 web 服务添加一个额外的绑定才能通过 HTTPS 工作?

<service name="LC.www.nexthop.mx.POC.grid_WebService.Domains">
        <endpoint address="" behaviorConfiguration="LC.www.nexthop.mx.POC.grid_WebService.DomainsAspNetAjaxBehavior"
          binding="webHttpBinding" contract="LC.www.nexthop.mx.POC.grid_WebService.Domains" />
      </service>
4

1 回答 1

1

您希望通过将绑定的安全模式设置为传输来将自定义绑定添加到配置中以启用 HTTPS。

 <bindings>
   <webHttpBinding>
     <binding name="httpsBinding">
       <security mode="Transport">
       </security>
     </binding>
   </webHttpBinding>
 </bindings>

默认的安全模式None不能很好地与 HTTPS 配合使用。

然后将该绑定分配给您的端点:

<service name="LC.www.nexthop.mx.POC.grid_WebService.Domains">
        <endpoint address="" behaviorConfiguration="LC.www.nexthop.mx.POC.grid_WebService.DomainsAspNetAjaxBehavior"
          binding="webHttpBinding" bindingConfiguration="httpsBinding" contract="LC.www.nexthop.mx.POC.grid_WebService.Domains" />
</service>

当我第一次遇到这种情况时, 这篇博文帮助了我。

希望这可以帮助!!

于 2010-08-21T01:59:54.027 回答