そこで、LinuxサーバーにSolrをインストールしましたが、別のWebサーバーやコンピューターからSolrにアクセスしたいと思います。
ソーラーサーバーから、それが実行されていることがわかります
[root@solr ~]# wget -qO- http://localhost:8983/solr
<html>
<head>
<link rel="stylesheet" type="text/css" href="solr-admin.css">
<link rel="icon" href="favicon.ico" type="image/ico"></link>
<link rel="shortcut icon" href="favicon.ico" type="image/ico"></link>
<title>Welcome to Solr</title>
</head>
<body>
<h1>Welcome to Solr!</h1>
<a href="."><img border="0" align="right" height="78" width="142" src="admin/solr_small.png" alt="Solr"/></a>
<a href="admin/">Solr Admin</a>
</body>
</html>
ただし、プラグインhttp://192.168.1.19:8983/solr/
ブラウザにアクセスするか、Webサーバーからpingを実行しても、接続に失敗します。 Solrをネットワーク上の他のデバイスからアクセスできるようにするにはどうすればよいですか?
# netstat -anp | grep :8983
tcp 0 0 :::8983 :::* LISTEN 15138/Java
$ telnet 192.168.1.19 8983
Trying 192.168.1.19...
telnet: connect to address 192.168.1.19: Connection refused
telnet: Unable to connect to remote Host
Solrをどのように実行していますか? Tomcatの下で? Tomcatでlocalhost
に制限する方法を知っているので、そうだと思います。制限するために行ったことを元に戻すだけで、Solrインストールをネットワーク化できます。
私の場合、私はTomcatが外部の世界に対処することを許可していません。私はApacheリバースプロキシを好むため、次のようにします。
ここでTomcatserver.xml
を編集します:
/etc/Tomcat6/server.xml
Connector
設定を探し、Tomcatインストールを127.0.0.1(別名:localhost)にロックするaddress="127.0.0.1"
を追加します。
<Connector port="8080" protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
したがって、あなたの場合、次のようにaddress
設定を削除します。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
しかし、繰り返しになりますが、Solrインスタンスがどのように提供されているのかわかりません。また、Tomcat経由で提供されていない場合は、他の誰かがチャイムを鳴らす必要があります。
datastax
を使用している場合は、(cassandra.yaml
)listen_address:
およびrpc_address:
マシンのIPアドレスに接続すると、機能します。
デフォルトでは、localhost
と呼ばれます。
Solrサーバーが正しいインターフェースをリッスンしていることを確認できますか?
の出力は何ですか:
netstat -anp | grep :8983
127.0.0.1:8983
または::1:8983
が表示された場合は、サーバーが外の世界をリッスンしていないためです。これは、使用しているWebサーバーの構成を編集することで修正できます。
それ以外の場合、0.0.0.0:8983
が表示された場合、問題は別の場所にある可能性があります。