---
title: "HTTPによるSolrの保護"
slug: "protecting-solr-over-http"
abstract: "Solrのウェブページ(管理者ページを含む)に認証を追加する方法を説明しています。"
---
# HTTPによるSolrの保護

Solr管理ページをユーザー名とパスワードで保護する場合、HTTP経由でSolrリクエストを行う際にSitecoreが基本的な認証を使うように設定する必要があります。

> !注Sitecoreが起動すると、Solrが稼働しているかを確認するためのSolrリクエストが行われます。

Sitecoreが使うSolrNetのIHttpWebRequestFactory インターフェースの実装を指定することで、がSolrとどのように通信するかをコントロールSitecore。

実装を指定するにはSitecore.ContentSearch.DefaultSolrConfiguration.configファイルのパッチを当てます。Solr HTTPリクエストのファクトリークラスは<solrHttpWebRequestFactory type="HttpWebAdapters.HttpWebRequestFactory, SolrNet" />ノードにあります。

SolrNetは以下のデフォルト実装を提供しています:

-   [HttpWebRequestFactory](https://github.com/SolrNet/SolrNet/blob/master/SolrNet/HttpWebAdapters/Impl/HttpWebRequestFactory.cs) – デフォルトのファクトリークラスです。単純なHTTPリクエストを作成します。
-   [BasicAuthHttpWebRequestFactory](https://github.com/SolrNet/SolrNet/blob/master/SolrNet/HttpWebAdapters/Impl/BasicAuthHttpWebRequestFactory.cs) – ユーザー名とパスワードの組み合わせを使って基本的な認証を行うファクトリークラスです。
-   [ClientCertificateHttpWebRequestFactory](https://github.com/SolrNet/SolrNet/blob/master/SolrNet/HttpWebAdapters/Impl/ClientCertificateHttpWebRequestFactory.cs) – 509個のクライアント証明書を使用するHTTPリクエストを作成するファクトリークラスです。

例えば、Solrへのアクセスのための基本的な認証をサポートしたい場合は、solrHttpWebRequestFactory 値を以下のように指定する必要があります。

Sitecore 9以前のSitecoreバージョンについては、アップデート2:

<solrHttpWebRequestFactory type="HttpWebAdapters.BasicAuthHttpWebRequestFactory, SolrNet">
 <param hint="username">USERNAME</param>
 <param hint="password">PASSWORD</param>
</solrHttpWebRequestFactory>

ここで、SitecoreがHTTPリクエストで使用するSolrユーザー名とパスワードを指定します。

後期のSitecoreバージョンでは、接続コードにUSERNAMEとPASSWORDを次のように指定する必要があります:

<add name="solr.search" connectionString="https://USERNAME:PASSWORD@searchstax.com/solr" />