1

私は楽しみながら、SSL を介した WCF と負荷分散を扱うゲームを楽しんでいます :(

現在の観点では、サーバーに到達したように見えますが、構成のエンドポイントが気に入らないということです。

誰でもアドバイスできますか?

クライアント構成。

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IWorkflowAPI" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="TransportWithMessageCredential">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="https://ourserver.com/API/workflow.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IWorkflowAPI" contract="Warms.IWorkflowAPI"
                name="BasicHttpBinding_IWorkflowAPI" />
        </client>
    </system.serviceModel>

Web サービスの Web 構成。

 <system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
      <behavior name="Originator Secured">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
        <serviceCredentials>
          <userNameAuthentication userNamePasswordValidationMode="Custom" />
        </serviceCredentials>
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <services>
    <service name="xx.xx.Web.UI.API.Workflow" behaviorConfiguration="Originator Secured">
      <endpoint address="https://ourserver/API/workflow.svc" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_IWorkflowAPI" contract="xx.xx.Web.UI.API.IWorkflowAPI"
      name="BasicHttpBinding_IWorkflowAPI"  listenUri="/" />
    </service>
  </services>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  <bindings>
    <basicHttpBinding>
           <binding name="BasicHttpBinding_IWorkflowAPI" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        <security mode="TransportWithMessageCredential">
          <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
        </security>
      </binding>
    </basicHttpBinding>
    <wsHttpBinding>
      <binding name="Workflow API Binding">
        <security mode="TransportWithMessageCredential">
          <transport clientCredentialType="None" />
          <message clientCredentialType="UserName" />
        </security>
      </binding>
    </wsHttpBinding>
    <customBinding>
      <binding name="CustomHttpBinding">
        <security allowInsecureTransport="True">
        </security>
        <httpTransport />
      </binding>
    </customBinding>
  </bindings>
</system.serviceModel>
4

1 に答える 1

2

おそらく、ロード バランサーが実際の Web サーバーへの接続に SSL を使用していない可能性があります。トランスポート セキュリティを有効にすると、WCF サービスはポート 80 で応答せず、443 でのみ応答しません。オプションは次のとおりだと思います。 config を変更し、メッセージ セキュリティのみを使用して、SSL をロード バランサーに任せます。

于 2012-08-30T14:47:52.860 に答える