本文转自:http://www.devnote.cn/article/94.html
测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0.37 | CentOS 5.7
Solr管理后台功能可谓强大,但是真正线上,如果管理后台地址可以公开访问的话,不但core的结构会暴漏出来,索引库甚至可以被修改或删除。
推荐的做法是,在apache或其他服务器上做设置,平时禁用对外的访问地址,项目访问solr的内网地址(如:http://localhost:8080/solr/collection1);平时线下调试使用本地的solr,如需要调试线上的,可以临时开打对外地址,用完再关闭。
如果你用的是ajp方式连接apache与tomcat,可参考如下红色部分设置。需要打开时,在前边加#号注释掉,然后重启apache即可( /etc/httpd/conf/httpd.conf )
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName www.devnote.cn
ProxyPass /solr/ !
ProxyPass / ajp://localhost:8009/
ErrorLog logs/www.devnote.cn-error_log
CustomLog logs/www.devnote.cn-access_log common
</VirtualHost>
注:如果用ajp连接方式,内网访问时不能用http://localhost:8009/solr/collection1,需要用默认的8080或者你自己定义的tomcat端口。