さて、solrを備えた別のサーバーがあり、これはアプリと完全に正常に接続します。通常の sunspot.yml を使用すると、次のようになります。
production:
solr:
hostname: domain
port: 8080
log_level: WARNING
path: path/to/data
問題は、Tomcat アプリへの認証が必要なことです。ドメインとポートがわかっていれば、solr/admin にアクセスできます。したがって、Tomcat web.xml に次を追加しました。
<security-constraint>
<web-resource-collection>
<web-resource-name>
Solr authenticated application
</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>role</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>REALM</realm-name>
</login-config>
<security-role>
<description>ROLE NAME</description>
<role-name>role</role-name>
</security-role>
これにより、アクセスが許可される前に、solr/admin にアクセスするすべての人にユーザー名とパスワードが必要になります。問題は、これについて Rails アプリにどのように伝えるかです。これを行った後、レールアプリがsolrサーバーにアクセスしようとすると、予想される「無許可」の応答が返されます。おそらくsunspot.ymlファイルに入ると思いますが、何を追加する必要がありますか?