2013-11-20 3 views
0

Я пытаюсь защитить свой экземпляр Solr, но я не могу заставить его работать. Я делаю все так, как я видел это во многих учебниках, но похоже, что solr игнорирует мой web.xml.Защита Solr на Tomcat7

Мои шаги:

1: Редактирование-users.xml кот

<?xml version='1.0' encoding='utf-8'?> 
<tomcat-users> 
    <role rolename="manager-gui"/> 
    <user username="tomcat" password="s3cret" roles="manager-gui"/> 

    <role rolename="solr-role"/> 
    <user username="test" password="test" roles="solr-role"/> 
</tomcat-users> 

2: Редактирование web.xml

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Solr Lockdown</web-resource-name> 
     <url-pattern>/</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>solr-role</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Solr</realm-name> 
</login-config> 

3: Перезапуск tomcat7

После этого я попробуйте получить доступ к http://xxx.xxx.xxx.xxx:8080/solr/, и я получаю доступ без подсказки пароля.

В чем моя вина?

спасибо!

ответ

0

Я не знаю почему, но я использовал неверный web.xml. Я использую файл, хранящийся под /var/lib/tomcat7/webapps/solr/WEB_INF/web.xml, но я должен использовать файл под /etc/tomcat7/web.xml.

1

Добавление следующие строки в web.xml закрепляет администратора страницы Solr (по крайней мере, для Solr 4.2.1, но также должны работать для 4.5.1)

<security-constraint> 
    <!-- This protects your admin interface and grants access to role admin --> 
    <web-resource-collection> 
     <web-resource-name>Solr admin</web-resource-name> 
     <url-pattern>/admin/*</url-pattern> 
     <url-pattern>/admin.html</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>solr</role-name> 
    </auth-constraint> 
    <security-role> 
     <role-name>solr</role-name> 
    </security-role> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>SOLR Realm</realm-name> 
</login-config> 
+0

Я пробовал это, но он не работает. – Stillmatic1985

+0

Странно ... это * работает * для меня (просто протестировал ту же конфигурацию на 4.5.0). Где вы меняли web.xml? Если вы изменили его в WAR-файле, но tomcat уже взорвал его в папку - тогда вам нужно будет удалить папку, потому что tomcat не может выбрать новый web.xml из WAR-файла. – rchukh

+0

Я использую Solr 4.4.0. Web.xml хранится в/var/lib/tomcat7/webapps/solr/WEB-INF/ – Stillmatic1985

Смежные вопросы