WCF-Bindung auf HTTPS

Ich verstehe, dass es gibt viele Beiträge dazu, und ich habe durch Sie alle, kam auf meine Suche und realisiert alles, was erwähnt wurde. Ich habe einen WCF-service, der funktioniert auf meinem lokalen system auf HTTP, und es funktionierte auf dem server, auf HTTP. Aber der Kunde verlangt, dass dies funktioniert über HTTPS. Der miriad-Beiträge auf dieser und anderen Seiten zeigt mir, dass es nicht so geradlinig, wie es sein sollte, da vor dieser, die die ASMX-web-service "einfach funktioniert" und nicht brauchen, komplizierte Konfiguration.

Bin ich immer den folgenden Fehler mit meiner aktuellen Konfiguration:

Konnte nicht finden, eine Basisadresse entspricht Schema von https für die
Endpunkt mit binding WSHttpBinding. Eingetragene Basisadresse Systeme
[http].

Hier ist mein code ab diesem moment, nachdem er versucht seit Tagen zu konfigurieren, dies funktioniert ohne Erfolg:

<system.serviceModel>

    <!--     -->
    <serviceHostingEnvironment  aspNetCompatibilityEnabled="true" >
        <baseAddressPrefixFilters>
            <add prefix="https://mysite.com"/>
            <add prefix="http://mysite.com"/>
        </baseAddressPrefixFilters>
    </serviceHostingEnvironment>

    <!-- Set up Custom Behaviors -->    
    <behaviors>

        <endpointBehaviors>
        </endpointBehaviors>

        <serviceBehaviors>
            <behavior name="WebPostService.WebPostServiceBehavior">
                <serviceMetadata httpsGetEnabled="true" httpsGetUrl="WebPostServices.svc/mex"  /> 
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>

    </behaviors>

    <!-- Set up the binding configuration  -->
    <bindings>

        <wsHttpBinding>
            <binding    name="SOAPBinding" 
            >

                <security mode="Transport">
                </security>
            </binding>
        </wsHttpBinding>

    </bindings>

    <services>

        <service    
                    behaviorConfiguration="WebPostService.WebPostServiceBehavior"
                    name="WebPostService.WebPostService"
        >

    <host>
      <baseAddresses>
        <add baseAddress="https://mysite.com/Services/WebPostService.svc"/>
      </baseAddresses>
    </host>
            <endpoint   address="" 
                        binding="wsHttpBinding" 
                        bindingConfiguration="SOAPBinding"
                        contract="WebPostService.IWebPostService"
            >
                <identity>
                    <dns value="mysite.com" />
                </identity>
            </endpoint>

            <endpoint   
                        address="mex" 
                        binding="mexHttpsBinding" 
                        contract="IMetadataExchange" 
            >
            </endpoint>

        </service>

    </services>

</system.serviceModel>

Was mache ich falsch und wie bekomme ich diese zu arbeiten, die über HTTPS? Ich bin frustriert, dass das nicht so einfach, wie es sein sollte. Ich wurde begraben in der WCF-Dokumentation auf MSDN für die Monate der Arbeit an diesem Projekt, und haben ein gutes Verständnis der Dienste, Endpunkte und bindings --- genug, um frustriert mich noch mehr, als wenn ich hatte überhaupt keine Erkenntnis.

UPDATE: Noch auf Arbeit, hatte ich eine seltsame Fehlermeldung, wenn Sie versuchen, um den vollständigen URL für die mex-Adresse. Ich geändert, um dies:

address="https://prcwebs.com/Services/WebPostService.svc/mex" 

und bekam die Fehlermeldung:

Sicherheitseinstellungen für diesen Dienst erfordern die Windows-Authentifizierung aber
es ist nicht aktiviert für die IIS-Anwendung hostet diesen service.

Ich versuche nicht, die Windows-Authentifizierung verwenden, werden die Sicherheitseinstellungen nicht verändert und ist noch

<security mode="Transport" />

Konnte nicht finden, eine Basisadresse entspricht Schema https für den Endpunkt mit WebHttpBinding-Bindung. Eingetragene Basisadresse Systeme sind [http]
- war nicht hilfreich, nichts erwähnt, dass würde helfen
Konnte nicht finden, eine Basisadresse entspricht Schema http für den Endpunkt mit binding WSHttpBinding
- Ich bin mit Sicherheit bei transport, gilt dies nicht. versucht, die änderung zu verschiedene Sicherheits-Modi, noch nicht bekommen konnte-site zu arbeiten.

InformationsquelleAutor der Frage stephenbayer | 2013-01-30

Schreibe einen Kommentar