tutorial puerto instalar ejemplos crear configurar solr sunspot-solr

puerto - Cómo configurar la contraseña de administrador Apache solr



solr tutorial (6)

Yo no estoy muy familiarizado con solr. He instalado solr con éxito. Está utilizando el servidor web del embarcadero. Mi versión solr es 4.10.3. La página de administración no está protegida por contraseña. Cualquiera puede acceder a ella. Quiero aplicar una palabra en el administrador de solr. ¿Cómo lo haré?


Como establecer una contraseña para Solr es un problema (lo siento, pero en algún momento debe nombrarlo como es) Propongo otra solución: restringir el acceso a ella mediante iptables .

Si instala el servidor Apache Solr, normalmente el servidor escuchará en el puerto 8983. Por lo tanto, la interfaz de administración de los servidores estará disponible en:

http://YOUR_SERVERS_IP:8983/solr/

Entonces podemos restringir las conexiones al puerto 8983 de la siguiente manera:

iptables -A INPUT -p tcp -s localhost --dport 8983 -j ACCEPT iptables -A INPUT -p tcp -s YOUR_SERVERS_IP --dport 8983 -j ACCEPT iptables -A INPUT -p tcp --dport 8983 -j DROP

Esto aceptará todas las solicitudes de localhost (primera línea) y de la propia IP del servidor (segunda línea), pero eliminará todas las demás conexiones (última línea). La segunda línea no es necesaria pero nos ayuda a encontrar un acceso fácil a la interfaz de administración de Solr. Para acceder a la interfaz de administración desde una máquina local, primero debemos reenviar todas las conexiones al servidor. La forma más fácil de hacerlo es usar sshuttle (lazy mans VPN):

sshuttle --dns -r root@YOUR_SERVERS_IP 0/0

Ejecutando este comando en la máquina local, desde donde queremos acceder a la interfaz de administración. Otra opción es utilizar el túnel ssh con el cliente ssh abierto:

ssh -D 1080 root@YOUR_SERVERS_IP

Configure un proxy de calcetines en su navegador al puerto 1080.


Si está utilizando Tomcat,

Open [Tomcat install dir]/tomcat-users.xml for editing.

Agregue las siguientes líneas dentro del elemento <tomcat-user> y guarde los cambios (usando su propio nombre de usuario y contraseña):

<role rolename="solr_admin"/><user username="your_username" password="your_password" roles="solr_admin"/>

Abra Tomcat install dir / webapps / solr / WEB-INF / web.xml para editarlo. "solr" en la ruta es el nombre de la instancia que desea asegurar. Normalmente, esto es "solr", pero puede ser diferente si está ejecutando una configuración avanzada. Agregue las siguientes líneas dentro del elemento <web-app> :

<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_admin</role-name> <role-name>admin</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Solr</realm-name></login-config>

Guarde los cambios y reinicie Tomcat. Pruebe sus cambios iniciando una nueva sesión de navegador y navegando a su sitio, por ej. http://localhost:8080/solr/ Se le solicitarán las credenciales.

Si su archivo Tomcat install dir tomcat-users.xml se está modificando, vaya al archivo tomcat-users.xml en Servidores en el Explorador de proyectos y agregue los cambios allí.


Solo tengo que informar de cuál fue la solución en mi caso. En realidad, mi sitio web fue escrito en ajax, por eso al establecer passowrd también protege mi sitio web. Entonces, no es la solución en caso de que solr tenga que ser utilizado por internet abierto. Así que su mejor solución según lo guiado por solr wiki es usar proxies como node.js, nginex, etc. como se proporciona here

El uso del proxy de node.js y la aplicación de reglas iptable (como se indicó anteriormente) resuelven mi problema.


También estoy tratando con Solr v.4.10 y esto es realmente molesto. Ninguna de las llamadas "soluciones" funciona para mí. Terminé de instalar Nginx en mi caja de Ubuntu y representé el puerto: 8983 a la ventana acoplable, donde Nginx requiere la contraseña. Esto funciona para mí.


Habilitar la autenticación en solr admin ejecutando con solr 6.1 y jetty

Condición previa:

  1. Solr versión 6.1

  2. Solr se está ejecutando con éxito en el sistema

  3. Solr Admin corriendo por el embarcadero

Proceso:

1. Editar jetty.xml

Edite el archivo "server / etc / jetty.xml" Agregue lo siguiente antes de que finalice la etiqueta Configure

<Call name="addBean"> <Arg> <New class="org.eclipse.jetty.security.HashLoginService"> <Set name="name">Test Realm</Set> <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> <Set name="refreshInterval">0</Set> </New> </Arg> </Call>

2. Editar webdefault.xml

Edite el archivo "server / etc / webdefault.xml" Agregue lo siguiente antes de que finalice la etiqueta de la aplicación web

<security-constraint> <web-resource-collection> <web-resource-name>Solr authenticated application</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>core1-role</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Test Realm</realm-name> </login-config>

Nota especial:

El valor utilizado en la etiqueta de nombre de rol debe ser el mismo que se utiliza en el archivo "realm.properties"

3. Crear nuevo archivo "realm.properties"

Cree un archivo llamado "realm.properties" en la ubicación "server / etc /" y coloque el siguiente contenido

admin: admin123,core1-role

Nombre de usuario: admin

Contraseña: admin123

Nombre del rol: core1-role

(Este debe ser el mismo que el nombre utilizado en la etiqueta de nombre de rol en el archivo / etc / webdefault.xml del servidor)

4. paso final

Reiniciar el servidor Solr

Ahora acceda a Solr en su navegador http://localhost:8983/solr/ Encontrará que el navegador está solicitando un username de username y una password . Introduzca el username y la password .


Para la versión de abajo 5

Si está usando solr-webapp, necesita modificar el archivo web.xml y agregar estas líneas:

<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_admin</role-name> <role-name>admin</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Solr</realm-name> </login-config>

Para el servidor Jetty, debe agregar las siguientes líneas en /example/etc/webdefault.xml

<security-constraint> <web-resource-collection> <web-resource-name>Solr authenticated application</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>**admin-role**</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Test Realm</realm-name> </login-config>

Actualizar el archivo /example/etc/jetty.xml

<Call name="addBean"> <Arg> <New class="org.eclipse.jetty.security.HashLoginService"> <Set name="name">Test Realm</Set> <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> <Set name="refreshInterval">0</Set> </New> </Arg> </Call>

/example/etc/realm.properties :

admin: s3cr3t, admin-role

Nombre de usuario = contraseña de administrador = s3cr3t . Nombre de rol = admin-role

Solr versión 5+

En la última versión de Solr se modificó la estructura de carpetas. Encontrará todos los archivos en la ruta de carpeta siguiente.

{SOLR_HOME} /server/etc/jetty.xml {SOLR_HOME} /server/etc/webdefault.xml

Cree un nuevo archivo de credenciales en {SOLR_HOME}/server/etc/realm.properties :

admin: s3cr3t, admin-role

Para más información puedes ayudar a solr wiki docs