How to make WCF Service Use HTTPS protocolHow to enable HTTPS in WCF serviceWcf Rest Call HTTP/1.1 400 Bad Request or HTTP/1.1 404 Not FoundI am getting error 404 on run WCF services. web-services don't work on live ServerHow do I calculate someone's age in C#?How do I enumerate an enum in C#?How do I get a consistent byte representation of strings in C# without manually specifying an encoding?WCF Authentication ErrorHow to make HTTP POST web requestWhat is a NullReferenceException, and how do I fix it?Powershell: Error consuming WCF services with MTOM message encodingHttp and Https request to WCF serviceHow to solve System.ServiceModel.ServerTooBusyException in WCF?WCF - HTTPS - Transport security works but message security throws exception on application startup

What are the ramifications of this change to upcasting spells?

Alchemist potion on Undead

Gofer work in exchange for Letter of Recommendation

But though we be the children of technology

How to avoid using System.String with Rfc2898DeriveBytes in C#

Are required indicators necessary for radio buttons?

90s(?) book series about two people transported to a parallel medieval world, she joins city watch, he becomes wizard

Count the frequency of items in an array

Using は before 欲しい instead が

Is there any road between the CA State Route 120 and Sherman Pass Road (Forest Route 22S0) that crosses Yosemite/Serria/Sequoia National Park/Forest?

Earliest evidence of objects intended for future archaeologists?

Have only girls been born for a long time in this village?

Interaction between Ethereal Absolution versus Edgar Markov with Captivating Vampire

Infinite loop in CURSOR

Label on a bended arrow

Why doesn't mathematics collapse down, even though humans quite often make mistakes in their proofs?

Chord with lyrics - What does it mean if there is an empty space instead of a Chord?

Why do some academic journals requires a separate "summary" paragraph in addition to an abstract?

Story about a demon trying to make a man insane

Metal that glows when near pieces of itself

How to dismiss intrusive questions from a colleague with whom I don't work?

How do you call it when two celestial bodies come as close to each other as they will in their current orbits?

Chess software to analyze games

My two team members in a remote location don't get along with each other; how can I improve working relations?



How to make WCF Service Use HTTPS protocol


How to enable HTTPS in WCF serviceWcf Rest Call HTTP/1.1 400 Bad Request or HTTP/1.1 404 Not FoundI am getting error 404 on run WCF services. web-services don't work on live ServerHow do I calculate someone's age in C#?How do I enumerate an enum in C#?How do I get a consistent byte representation of strings in C# without manually specifying an encoding?WCF Authentication ErrorHow to make HTTP POST web requestWhat is a NullReferenceException, and how do I fix it?Powershell: Error consuming WCF services with MTOM message encodingHttp and Https request to WCF serviceHow to solve System.ServiceModel.ServerTooBusyException in WCF?WCF - HTTPS - Transport security works but message security throws exception on application startup






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I have a WCF service which works as rest and soap.
I am trying to receive requests via HTTPS protocol but I can't no matter what I've tried.



I've tried to modify the web.config file according to this post:



How to enable HTTPS in WCF service



I've tried couple of other similar methods I've found on the web.
But no matter I do, I always get:
"Could not find a base address that matches scheme http for the endpoint with binding WSHttpBinding. Registered base address schemes are [https]."
error upon running the project on debug mode.



My configuration is as follows:



 <system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SendEmailSoap" />
<binding name="SendSMSSoap" />
<binding name="KPSPublicSoap">
<security mode="Transport" />
</binding>
<binding name="KPSPublicSoap1" />
</basicHttpBinding>

<webHttpBinding>
<binding name="WebBinding">
<security mode="None">
<transport clientCredentialType="None" />
</security>
</binding>
</webHttpBinding>

<wsHttpBinding>
<binding name="WsBinding">
<security mode="None" />
</binding>
</wsHttpBinding>

</bindings>

<behaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="servicebehaviors">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
<behavior name="integrationServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="KaporaWebService.App_Code.CustomValidator, App_Code" />
</serviceCredentials>
</behavior>

</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="integrationServiceBehaviour" name="KaporaWebService.IntegrationService">
<endpoint address="/ws" binding="wsHttpBinding" bindingConfiguration="WsBinding" contract="KaporaWebService.IIntegrationService" />
<endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="WebBinding" contract="KaporaWebService.IIntegrationService" />
</service>
</services>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />
</system.serviceModel>


What do I need to do enable HTTPS on WCF?










share|improve this question
































    0















    I have a WCF service which works as rest and soap.
    I am trying to receive requests via HTTPS protocol but I can't no matter what I've tried.



    I've tried to modify the web.config file according to this post:



    How to enable HTTPS in WCF service



    I've tried couple of other similar methods I've found on the web.
    But no matter I do, I always get:
    "Could not find a base address that matches scheme http for the endpoint with binding WSHttpBinding. Registered base address schemes are [https]."
    error upon running the project on debug mode.



    My configuration is as follows:



     <system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding name="SendEmailSoap" />
    <binding name="SendSMSSoap" />
    <binding name="KPSPublicSoap">
    <security mode="Transport" />
    </binding>
    <binding name="KPSPublicSoap1" />
    </basicHttpBinding>

    <webHttpBinding>
    <binding name="WebBinding">
    <security mode="None">
    <transport clientCredentialType="None" />
    </security>
    </binding>
    </webHttpBinding>

    <wsHttpBinding>
    <binding name="WsBinding">
    <security mode="None" />
    </binding>
    </wsHttpBinding>

    </bindings>

    <behaviors>
    <endpointBehaviors>
    <behavior name="web">
    <webHttp />
    </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
    <behavior name="servicebehaviors">
    <serviceMetadata httpGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
    <behavior name="">
    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
    <behavior name="integrationServiceBehaviour">
    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
    <serviceDebug includeExceptionDetailInFaults="false" />
    <serviceCredentials>
    <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="KaporaWebService.App_Code.CustomValidator, App_Code" />
    </serviceCredentials>
    </behavior>

    </serviceBehaviors>
    </behaviors>
    <services>
    <service behaviorConfiguration="integrationServiceBehaviour" name="KaporaWebService.IntegrationService">
    <endpoint address="/ws" binding="wsHttpBinding" bindingConfiguration="WsBinding" contract="KaporaWebService.IIntegrationService" />
    <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="WebBinding" contract="KaporaWebService.IIntegrationService" />
    </service>
    </services>
    <protocolMapping>
    <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />
    </system.serviceModel>


    What do I need to do enable HTTPS on WCF?










    share|improve this question




























      0












      0








      0








      I have a WCF service which works as rest and soap.
      I am trying to receive requests via HTTPS protocol but I can't no matter what I've tried.



      I've tried to modify the web.config file according to this post:



      How to enable HTTPS in WCF service



      I've tried couple of other similar methods I've found on the web.
      But no matter I do, I always get:
      "Could not find a base address that matches scheme http for the endpoint with binding WSHttpBinding. Registered base address schemes are [https]."
      error upon running the project on debug mode.



      My configuration is as follows:



       <system.serviceModel>
      <bindings>
      <basicHttpBinding>
      <binding name="SendEmailSoap" />
      <binding name="SendSMSSoap" />
      <binding name="KPSPublicSoap">
      <security mode="Transport" />
      </binding>
      <binding name="KPSPublicSoap1" />
      </basicHttpBinding>

      <webHttpBinding>
      <binding name="WebBinding">
      <security mode="None">
      <transport clientCredentialType="None" />
      </security>
      </binding>
      </webHttpBinding>

      <wsHttpBinding>
      <binding name="WsBinding">
      <security mode="None" />
      </binding>
      </wsHttpBinding>

      </bindings>

      <behaviors>
      <endpointBehaviors>
      <behavior name="web">
      <webHttp />
      </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
      <behavior name="servicebehaviors">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
      <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
      <behavior name="integrationServiceBehaviour">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceCredentials>
      <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="KaporaWebService.App_Code.CustomValidator, App_Code" />
      </serviceCredentials>
      </behavior>

      </serviceBehaviors>
      </behaviors>
      <services>
      <service behaviorConfiguration="integrationServiceBehaviour" name="KaporaWebService.IntegrationService">
      <endpoint address="/ws" binding="wsHttpBinding" bindingConfiguration="WsBinding" contract="KaporaWebService.IIntegrationService" />
      <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="WebBinding" contract="KaporaWebService.IIntegrationService" />
      </service>
      </services>
      <protocolMapping>
      <add binding="basicHttpsBinding" scheme="https" />
      </protocolMapping>
      <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />
      </system.serviceModel>


      What do I need to do enable HTTPS on WCF?










      share|improve this question
















      I have a WCF service which works as rest and soap.
      I am trying to receive requests via HTTPS protocol but I can't no matter what I've tried.



      I've tried to modify the web.config file according to this post:



      How to enable HTTPS in WCF service



      I've tried couple of other similar methods I've found on the web.
      But no matter I do, I always get:
      "Could not find a base address that matches scheme http for the endpoint with binding WSHttpBinding. Registered base address schemes are [https]."
      error upon running the project on debug mode.



      My configuration is as follows:



       <system.serviceModel>
      <bindings>
      <basicHttpBinding>
      <binding name="SendEmailSoap" />
      <binding name="SendSMSSoap" />
      <binding name="KPSPublicSoap">
      <security mode="Transport" />
      </binding>
      <binding name="KPSPublicSoap1" />
      </basicHttpBinding>

      <webHttpBinding>
      <binding name="WebBinding">
      <security mode="None">
      <transport clientCredentialType="None" />
      </security>
      </binding>
      </webHttpBinding>

      <wsHttpBinding>
      <binding name="WsBinding">
      <security mode="None" />
      </binding>
      </wsHttpBinding>

      </bindings>

      <behaviors>
      <endpointBehaviors>
      <behavior name="web">
      <webHttp />
      </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
      <behavior name="servicebehaviors">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
      <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
      <behavior name="integrationServiceBehaviour">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceCredentials>
      <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="KaporaWebService.App_Code.CustomValidator, App_Code" />
      </serviceCredentials>
      </behavior>

      </serviceBehaviors>
      </behaviors>
      <services>
      <service behaviorConfiguration="integrationServiceBehaviour" name="KaporaWebService.IntegrationService">
      <endpoint address="/ws" binding="wsHttpBinding" bindingConfiguration="WsBinding" contract="KaporaWebService.IIntegrationService" />
      <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="WebBinding" contract="KaporaWebService.IIntegrationService" />
      </service>
      </services>
      <protocolMapping>
      <add binding="basicHttpsBinding" scheme="https" />
      </protocolMapping>
      <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />
      </system.serviceModel>


      What do I need to do enable HTTPS on WCF?







      c# .net web-services wcf https






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 28 at 8:39







      Onur Yurdupak

















      asked Mar 27 at 14:44









      Onur YurdupakOnur Yurdupak

      112 bronze badges




      112 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          0














          We are supposed to add additional service endpoint which uses transport layer security, and add https binding in IIS site binding module. Please see my configuration.



          <system.serviceModel>
          <services>
          <service behaviorConfiguration="mybehavior" name="WcfService1.Service1">
          <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev"></endpoint>
          <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev" bindingConfiguration="mybinding"></endpoint>
          <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint>
          </service>
          </services>
          <bindings>
          <webHttpBinding>
          <binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" sendTimeout="00:10:00" receiveTimeout="00:10:00">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
          <security mode="Transport">
          <transport clientCredentialType="None"></transport>
          </security>
          </binding>
          </webHttpBinding>
          </bindings>
          <behaviors>
          <serviceBehaviors>
          <behavior name="mybehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
          </behavior>
          </serviceBehaviors>
          <endpointBehaviors>
          <behavior name="webbev">
          <webHttp />
          </behavior>
          </endpointBehaviors>
          </behaviors>
          <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
          </system.serviceModel>


          Here is the simplified configuration since WCF has the new feature in net4.5



           <system.serviceModel>
          <behaviors>
          <serviceBehaviors>
          <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
          </behavior>
          </serviceBehaviors>
          <endpointBehaviors>
          <behavior>
          <webHttp />
          </behavior>
          </endpointBehaviors>
          </behaviors>
          <bindings>
          <webHttpBinding>
          <binding name="mybinding">
          <security mode="Transport">
          <transport clientCredentialType="None"></transport>
          </security>
          </binding>
          </webHttpBinding>
          </bindings>
          <protocolMapping>
          <add binding="webHttpBinding" scheme="http"/>
          <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
          </protocolMapping>
          <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
          </system.serviceModel>


          Then add https address and specify the certificate.
          enter image description here

          Here is an official document, wish it is useful to you.
          https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-an-iis-hosted-wcf-service-with-ssl



          Result.
          enter image description here

          Feel free to let me know if there is anything I can help with.






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55380024%2fhow-to-make-wcf-service-use-https-protocol%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            We are supposed to add additional service endpoint which uses transport layer security, and add https binding in IIS site binding module. Please see my configuration.



            <system.serviceModel>
            <services>
            <service behaviorConfiguration="mybehavior" name="WcfService1.Service1">
            <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev"></endpoint>
            <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev" bindingConfiguration="mybinding"></endpoint>
            <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint>
            </service>
            </services>
            <bindings>
            <webHttpBinding>
            <binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" sendTimeout="00:10:00" receiveTimeout="00:10:00">
            <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
            <security mode="Transport">
            <transport clientCredentialType="None"></transport>
            </security>
            </binding>
            </webHttpBinding>
            </bindings>
            <behaviors>
            <serviceBehaviors>
            <behavior name="mybehavior">
            <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
            </serviceBehaviors>
            <endpointBehaviors>
            <behavior name="webbev">
            <webHttp />
            </behavior>
            </endpointBehaviors>
            </behaviors>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
            </system.serviceModel>


            Here is the simplified configuration since WCF has the new feature in net4.5



             <system.serviceModel>
            <behaviors>
            <serviceBehaviors>
            <behavior>
            <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
            </serviceBehaviors>
            <endpointBehaviors>
            <behavior>
            <webHttp />
            </behavior>
            </endpointBehaviors>
            </behaviors>
            <bindings>
            <webHttpBinding>
            <binding name="mybinding">
            <security mode="Transport">
            <transport clientCredentialType="None"></transport>
            </security>
            </binding>
            </webHttpBinding>
            </bindings>
            <protocolMapping>
            <add binding="webHttpBinding" scheme="http"/>
            <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
            </protocolMapping>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
            </system.serviceModel>


            Then add https address and specify the certificate.
            enter image description here

            Here is an official document, wish it is useful to you.
            https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-an-iis-hosted-wcf-service-with-ssl



            Result.
            enter image description here

            Feel free to let me know if there is anything I can help with.






            share|improve this answer





























              0














              We are supposed to add additional service endpoint which uses transport layer security, and add https binding in IIS site binding module. Please see my configuration.



              <system.serviceModel>
              <services>
              <service behaviorConfiguration="mybehavior" name="WcfService1.Service1">
              <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev"></endpoint>
              <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev" bindingConfiguration="mybinding"></endpoint>
              <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint>
              </service>
              </services>
              <bindings>
              <webHttpBinding>
              <binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" sendTimeout="00:10:00" receiveTimeout="00:10:00">
              <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
              <security mode="Transport">
              <transport clientCredentialType="None"></transport>
              </security>
              </binding>
              </webHttpBinding>
              </bindings>
              <behaviors>
              <serviceBehaviors>
              <behavior name="mybehavior">
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
              </behavior>
              </serviceBehaviors>
              <endpointBehaviors>
              <behavior name="webbev">
              <webHttp />
              </behavior>
              </endpointBehaviors>
              </behaviors>
              <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
              </system.serviceModel>


              Here is the simplified configuration since WCF has the new feature in net4.5



               <system.serviceModel>
              <behaviors>
              <serviceBehaviors>
              <behavior>
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
              </behavior>
              </serviceBehaviors>
              <endpointBehaviors>
              <behavior>
              <webHttp />
              </behavior>
              </endpointBehaviors>
              </behaviors>
              <bindings>
              <webHttpBinding>
              <binding name="mybinding">
              <security mode="Transport">
              <transport clientCredentialType="None"></transport>
              </security>
              </binding>
              </webHttpBinding>
              </bindings>
              <protocolMapping>
              <add binding="webHttpBinding" scheme="http"/>
              <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
              </protocolMapping>
              <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
              </system.serviceModel>


              Then add https address and specify the certificate.
              enter image description here

              Here is an official document, wish it is useful to you.
              https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-an-iis-hosted-wcf-service-with-ssl



              Result.
              enter image description here

              Feel free to let me know if there is anything I can help with.






              share|improve this answer



























                0












                0








                0







                We are supposed to add additional service endpoint which uses transport layer security, and add https binding in IIS site binding module. Please see my configuration.



                <system.serviceModel>
                <services>
                <service behaviorConfiguration="mybehavior" name="WcfService1.Service1">
                <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev"></endpoint>
                <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev" bindingConfiguration="mybinding"></endpoint>
                <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint>
                </service>
                </services>
                <bindings>
                <webHttpBinding>
                <binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" sendTimeout="00:10:00" receiveTimeout="00:10:00">
                <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
                <security mode="Transport">
                <transport clientCredentialType="None"></transport>
                </security>
                </binding>
                </webHttpBinding>
                </bindings>
                <behaviors>
                <serviceBehaviors>
                <behavior name="mybehavior">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
                </serviceBehaviors>
                <endpointBehaviors>
                <behavior name="webbev">
                <webHttp />
                </behavior>
                </endpointBehaviors>
                </behaviors>
                <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
                </system.serviceModel>


                Here is the simplified configuration since WCF has the new feature in net4.5



                 <system.serviceModel>
                <behaviors>
                <serviceBehaviors>
                <behavior>
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
                </serviceBehaviors>
                <endpointBehaviors>
                <behavior>
                <webHttp />
                </behavior>
                </endpointBehaviors>
                </behaviors>
                <bindings>
                <webHttpBinding>
                <binding name="mybinding">
                <security mode="Transport">
                <transport clientCredentialType="None"></transport>
                </security>
                </binding>
                </webHttpBinding>
                </bindings>
                <protocolMapping>
                <add binding="webHttpBinding" scheme="http"/>
                <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
                </protocolMapping>
                <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
                </system.serviceModel>


                Then add https address and specify the certificate.
                enter image description here

                Here is an official document, wish it is useful to you.
                https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-an-iis-hosted-wcf-service-with-ssl



                Result.
                enter image description here

                Feel free to let me know if there is anything I can help with.






                share|improve this answer













                We are supposed to add additional service endpoint which uses transport layer security, and add https binding in IIS site binding module. Please see my configuration.



                <system.serviceModel>
                <services>
                <service behaviorConfiguration="mybehavior" name="WcfService1.Service1">
                <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev"></endpoint>
                <endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="webbev" bindingConfiguration="mybinding"></endpoint>
                <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"></endpoint>
                </service>
                </services>
                <bindings>
                <webHttpBinding>
                <binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" sendTimeout="00:10:00" receiveTimeout="00:10:00">
                <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
                <security mode="Transport">
                <transport clientCredentialType="None"></transport>
                </security>
                </binding>
                </webHttpBinding>
                </bindings>
                <behaviors>
                <serviceBehaviors>
                <behavior name="mybehavior">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
                </serviceBehaviors>
                <endpointBehaviors>
                <behavior name="webbev">
                <webHttp />
                </behavior>
                </endpointBehaviors>
                </behaviors>
                <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
                </system.serviceModel>


                Here is the simplified configuration since WCF has the new feature in net4.5



                 <system.serviceModel>
                <behaviors>
                <serviceBehaviors>
                <behavior>
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
                </serviceBehaviors>
                <endpointBehaviors>
                <behavior>
                <webHttp />
                </behavior>
                </endpointBehaviors>
                </behaviors>
                <bindings>
                <webHttpBinding>
                <binding name="mybinding">
                <security mode="Transport">
                <transport clientCredentialType="None"></transport>
                </security>
                </binding>
                </webHttpBinding>
                </bindings>
                <protocolMapping>
                <add binding="webHttpBinding" scheme="http"/>
                <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
                </protocolMapping>
                <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
                </system.serviceModel>


                Then add https address and specify the certificate.
                enter image description here

                Here is an official document, wish it is useful to you.
                https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-configure-an-iis-hosted-wcf-service-with-ssl



                Result.
                enter image description here

                Feel free to let me know if there is anything I can help with.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 28 at 3:07









                Abraham QianAbraham Qian

                2,0061 gold badge2 silver badges12 bronze badges




                2,0061 gold badge2 silver badges12 bronze badges





















                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55380024%2fhow-to-make-wcf-service-use-https-protocol%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript