Enforce HTTPS for xConnect Search

Abstract

How to enforce HTTPS for Sitecore xConnect Search.

Applies to

xConnect Collection Search, xConnect Search Indexer

Sitecore Installation Framework

HTTPS is enforced by default.

Azure Toolkit

HTTPS is enforced by default

This topic describes how to enforce communication over HTTPS between the xConnect Search Indexer and the xDB index, and the xConnect Collection Search service role and the xDB index.

Note

HTTPS is enforced by default. To allow HTTP in a development environment, set RequireHttps to false. This is not recommended in a production environment.

To enforce HTTPS for Solr:

  1. Set up Solr with SSL.

  2. For the xConnect Search Indexer, open the <xconnect-search-indexer>\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexWriter.SOLR.xml file and set the RequireHttps setting to true:

    <Options>
        <ConnectionStringName>solrCore</ConnectionStringName>
        <RequireHttps>true</RequireHttps>
        <Encoding>utf-8</Encoding>
    </Options>
    
    .. note::
    
        This steps assumes that your search indexer is located in the *jobs* sub-folder of your xConnect Search instance.
    
  3. For every instance of the xConnect Collection Search role, open the C:\path\to\xconnect\App_data\config\sitecore\CollectionSearch\sc.Xdb.Collection.IndexReader.SOLR.xml file and set both RequireHttps settings to true:

    <Solr.SolrReaderSettings>
        <Type>Sitecore.Xdb.Collection.Search.Solr.SolrReaderSettings, Sitecore.Xdb.Collection.Search.Solr</Type>
        <LifeTime>Singleton</LifeTime>
        <Options>
            <ConnectionStringName>solrCore</ConnectionStringName>
            <RequireHttps>true</RequireHttps>
            <Encoding>utf-8</Encoding>
        </Options>
    </Solr.SolrReaderSettings>
    <Solr.SolrWriterSettings>
        <Type>Sitecore.Xdb.Collection.Search.Solr.SolrWriterSettings, Sitecore.Xdb.Collection.Search.Solr</Type>
        <LifeTime>Singleton</LifeTime>
        <Options>
            <ConnectionStringName>solrCore</ConnectionStringName>
            <RequireHttps>true</RequireHttps>
            <MaximumUpdateBatchSize>1000</MaximumUpdateBatchSize>
            <MaximumDeleteBatchSize>1000</MaximumDeleteBatchSize>
            <MaximumCommitMilliseconds>1000</MaximumCommitMilliseconds>
            <ParallelizationDegree>4</ParallelizationDegree>
            <MaximumRetryDelayMilliseconds>5000</MaximumRetryDelayMilliseconds>
            <RetryCount>5</RetryCount>
            <Encoding>utf-8</Encoding>
        </Options>
    </Solr.SolrWriterSettings>
    
  4. For all roles that connect to the xDB index, ensure that the solrCore connection string in \App_data\ConnectionStrings.config use HTTPS:

    <add name="solrCore" connectionString="https://yourSolrInstance/" />
    

No additional configuration is required to enforce HTTPS for Azure Search. xConnect does not support running Azure Search without HTTPS.