我有一个现有的apache Web服务器(2.2.15),配置了各种安全细节(仅限https / authentication / authorization /等).我可以依靠这个服务器来处理我的solr安装的访问要求.
我有一个基本的“示例”solr实例,并在一台单独的机器上运行. (Solr 4.8.0)
我希望能够将网址https:// myserver / department / team / search / ….重定向到另一台(私有)计算机上运行的Solr实例http:// solrserver:8983 /
我已经配置了apache服务器:
ProxyPass /department/team/search/ http://solserver:8983/
ProxyPassReverse /department/team/search/ http://solserver:8983/
我有一些成功,正在处理https,处理身份验证/访问,等等.
当我浏览到url时,它甚至会加载基本的solr页面,但内部的页面具有以下内容:
<script type="text/javascript">
var app_config = {};
app_config.solr_path = '\/solr';
app_config.core_admin_path = '\/admin\/cores';
</script>
那(我相信)导致JavaScript代码尝试调用:
https://myserver/solr/admin/cores?wt=json&indexInfo=false&_=1399485239437
代替
https://myserver/department/team/search/solr/admin/cores?wt=json&indexInfo=false&_=1399485239437
我相信这两个值是可配置的(app_config.solr_path和app_config.core_admin_path),但我无法知道如何/在哪里做……
问题:
>如何更改为app_config.solr_path和app_config.core_admin_path设置的值?
>或者,这可能是完全做到这一点的错误方法,有更好的方法吗? (虽然apache webserver提供的身份验证/安全性现在很完美….)
最佳答案 这适合我.
<VirtualHost *:8080>
ServerName solr.xyz.com.br
ProxyPreserveHost on
ProxyRequests off
RewriteEngine On
RewriteRule ^\/solr(.*)$$1 [L,R]
ProxyPass / ajp://localhost:8009/solr/
ProxyPassReverse / ajp://localhost:8009/solr/
</VirtualHost>