Solrの管理画面のアクセス制限について

ブラウザで開くsolrの管理画面にipアドレスの制限をjettyでかけたところ、今度はapiをサーバー側から叩いた場合にエラーが出るようになったので、調査したところ解決したのでメモしておきます。jettyで制限をかけた時は、普通に192.168.1.11みたいな感じだったんですけど、同じipからアクセスしてもエラーが出ていましたが、設定によって解決するようです。

java.lang.IllegalArgumentException: Invalid IP address: 0:0:0:0:0:0:0:1 と表示される

英語はよーわかりませんが、つまりIPアドレスが理由でアクセスできん的なことが書いてあるようですけど、でもいつも使ってるipアドレスの形式と違うようです。

そして、ブラウザからは正常にアクセスできます。どうも、ipv6が影響してるようで、ブラウザからはipv4からなので正常に表示されるようですが、サーバーからではそうもいかないようです。

なので、今回はipv6をサーバー側で止める方向で対応します。

ipv6が動いてるのかを確認してみる

ひとまず、以下のコマンドで、ipv6が動いてるか確認してみます

# ip a

で、コマンドを叩いた結果が以下の画像です。

この実行結果の中に「inet6」という部分がipv6のようで、これが表示されているとipv6が動いてる状態です。今回は、ipv6を停止するので、「/etc/sysctl.d/」に、停止する設定ファイルを入れておきます。

ipv6を止める設定ファイルを作成する

今回は、「 /etc/sysctl.d/disable_ipv6.conf」を以下内容を入れて作成します。別にファイル名はどれでもいいらしいですよ。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

これを作成したあと、このファイルを読み込みます。

sysctl -p/etc/sysctl.d/disable_ipv6.conf

再度、コマンドでipv6が動いてるか確認してみました。確認結果が以下の画像

inet6が消えました。再度solrにサーバーからアクセスしたところ、エラーが無事に消えました。

よかったよかった。

コメント