Views: 16696
Number of votes: 11
Average rating:

Are you also having trouble with EPiServer Search (IndexingService.svc) and SSL?

For a long time I have been struggling with getting EPiServer Search up and running on a server with a public url.  Today I also had to struggle with getting the service up and running with SSL. So I thought I should share my experience with you and try to collect a couple resources that might help you getting EPiServer Search up and running.

Please feel free to ad comments about this issue as well Ler 

Are you using Multiple Bindings in IIS?

If so you have to make sure that you add <serviceHostingEnviroment multipleSiteBindingEnable= ”true”>. What is multiple bindings then… well if you are using yoursite.se and yoursite.com you have multiplebindings in your IIS instance for that specific website.

 

<system.serviceModel>.....
   <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
                                multipleSiteBindingsEnabled="true" />
  ....
</system.serviceModel>

 

Test the IndexingService

If everything is working as expected you should be able to browse to the “indexingservice.svc”-file.

Browse: http://yousite.com/indexingservice/indexingservice.svc.

You should get this screen:

image

You are getting a 404 or other error message saying that it is not working?

First thing you should look at is if you have the Indexingservice installed on your server. Check the Deployment Center for the EPiServer Search module. Second make sure you have the folder specified in web.config for indexingservice. Should be a folder in your wwwroot-folder “Indexingservice/indexingservice.svc”

Still not luck with the service?

Ok now we need to make sure we have the WCF installed correctly on the IIS. Todo that you can ran the following command in your Command Prompt:

SystemServiceModelReg.exe – The tool can be found in the following directory: %SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\

And still no Index?

There are a few thing you could check if you still have no working index and search on you website.

  • ReIndex your website
  • Make sure the service is indexing your server locally
    • Add the public url to the host-file on the server: 127.0.0.1   yoursiterurl.com
      • File located in:  C:\Windows\System32\drivers\etc

 

Configure EPiServer Search with SSL

Last but not least. If you have SSL enabled on your website you will get a 404 message for your service. You will need to change some settings in web.config. To enable wcf service to work with SSL you just need to add the following:

 <binding name="IndexingServiceCustomBinding"
                    maxBufferPoolSize="1073741824"
                    maxReceivedMessageSize="2147483647"
                    maxBufferSize="2147483647">
            <security mode="Transport">
                <transport clientCredentialType="None"></transport>
            </security>
            <readerQuotas maxStringContentLength="10000000" />
 </binding>

The important part is to add:

<security mode="Transport">
     <transport clientCredentialType="None"></transport>
</security>

If your website use both secure and none secure http you can and a new CustomBinding to your web.config

 

Links that might help you and references.

May 28, 2014

Vishal Panday
(By Vishal Panday, 4/28/2015 4:47:31 PM)

hi Eric...

great pointers... so your last sentence "If your website use both secure and none secure http you can and a new CustomBinding to your web.config"

how do i do that?

dika
(By dika, 11/10/2015 10:59:16 PM)

Using IIS 8 on Windows Server 2012, VS15, CMS 9.2

After loading http://yousite.com/indexingservice/indexingservice.svc and still getting 404 or other error message. Then you can follow this steps as well.

Open Internet Information Services (IIS) Manager:

 In the Connections pane, click the server connection that you want to add the native module to.

 In the Home pane, double-click Handler Mappings.

 On the Actions pane, click Add Managed Handler...

 In the Add Managed Handler dialog box, specify the following:

*Get the info from the web.config

  • Request Path. The file name or file name extension to map.  = ".svc"
  • Type. The type (class) name of the managed handler. If the handler is defined in the app_code or bin folders of the application, its type name will appear in the drop-down list. = "System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
  • Name. A descriptive name.

ref: https://www.iis.net/configreference/system.webserver/handlers/add

Please login to comment.