solrのインストールをした後、管理画面を操作していたところ、ふとあることに気になりました。

ふと思ったこと

これってどこからでも、管理画面にアクセスできるのでは…?これは非常にセキュリティ上よろしくないので、色々調べてアクセス制限ができたので、メモしておきます。.htaccessによるIPアドレスの制限じゃなくて、ベーシック認証でもなくて、Jetty.xmlで、IPアドレスの制限ができるようですので、設定してみました。

Solrをインストールした際に一緒に入ったJettyにて設定する

まず、solrの管理画面(http://「hostname」:8983/)へアクセスし、「 Java Properties」をクリックします。※下の画像の赤線で囲んだボタン

設定ファイルなどに関しての一覧が出てくるので、「jetty.​home」の項目を探します。そこに記載のあるパスがjettyの設定が入ってる場所になります。そのパスに移動した後、「etc」というディレクトリの中にjetty.xmlがあるので、そのファイルを編集します。つまり「jetty.home/etc/jetty.xml」を編集します。※私の環境では画像の赤で囲んだ部分のパス

jetty.xmlにアクセスを許可するIPアドレスを記載する

「jetty.xml」の中を以下のように変更します。今回、192.168.11.11を許可する例を記載します。

<!--
元々記載のあった部分はコメントアウトしておく
<Item>
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Item>
-->
<Item>
<New class="org.eclipse.jetty.server.handler.IPAccessHandler">
<Call name="addWhite">
<Arg>192.168.11.11</Arg>
</Call>

<Set name="handler">
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Set>
</New>
</Item>

これで、記載している「192.168.11.11」からのアクセスのみ可能になりました。設定を反映するために、以下コマンドでsolrを再起動します。

service solr restart

これで、設定が反映されます。

コメント