Recientemente instalé tomcat a través de un script de instalación de la comunidad apache solr typo3 y pasé los últimos 3 días tratando de descubrir por qué no funcionará hasta que por casualidad me di cuenta de que cuando pregunté el proceso escuchando en el puerto a través de "lsof -i ", estaba vinculado al protocolo ipv6. He buscado en Google en todas partes y la mayoría dice que establecer la dirección a 0.0.0.0 en el conector tomcat resuelve este problema, otros dicen que configurar JAVA_OPTS = "- Djava.net.preferIPv4Stack = true" ; He intentado lo primero que no funciona, pero lo último no estoy seguro de dónde ponerlo. Una solución que leí en alguna parte sugirió ponerlo en setenv.shpero no puedo encontrar este archivo en mi instalación de tomcat. Agradecería cualquier ayuda en este momento con respecto a esto. La versión de tomcat es 6.xy el sistema operativo es ubuntu 11.10. Gracias
32
Respuestas:
Muchos sugirieron actualizar el
catalina.sh
script de inicio. Sí, esa solución funcionaría, pero elcatalina.sh
script no debe ser personalizado / actualizado. Todos los cambios deberían ir al script de personalización, es decirsetenv.sh
.NOTA:
TOMCAT_HOME/bin/setenv.sh
no existe por defecto, debe crearlo. Verifique elcatalina.sh
script y verá que el script de inicio verifica sisetenv.sh
existe y se ejecuta si es así.Por lo tanto, le sugiero que cree un nuevo
TOMCAT_HOME/bin/setenv.sh
script con una sola línea:fuente
Ok, finalmente lo resolví. Me ordenaron probar esto y la solución de Henk. Ninguno de los cuales parecía funcionar con el servidor virtual remoto. Supongo que porque estoy en un espacio de kernel compartido, el proveedor lo impide. En cualquier caso, agregué:
JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
al script de inicio catalina.sh y parecía haber solucionado el problema de vincular tomcat a ipv6.fuente
La sintaxis correcta para modificar catalina.sh sería:
fuente
Si utilizó este instalador: " Apache Solr for TYPO3 ", puede cambiar la dirección en el archivo
server.xml
. El valor predeterminado apunta a localhost, así que busque 127.0.0.1 y cámbielo a la dirección IPv4 que desee. No olvide reiniciar Tomcat6 para que los cambios surtan efecto.ACTUALIZACIÓN, 20120521
Vea mi comentario a continuación sobre cómo deshabilitar IPv6 en Ubuntu 11.10.
He probado con éxito esto en una Virtualbox-VM en mi Mac. La dirección para el puerto del conector 8080 ha cambiado de 127.0.0.1 a 0.0.0.0 in
server.xml
.Luego, la desactivación de IPv6 hace que el "tcp6" desaparezca, por lo que está vinculado a una dirección solo de IPv4.
Antes / con IPv6 habilitado:
Después / IPv6 deshabilitado:
fuente
Aunque probablemente no sea el método preferido, he observado que deshabilitar IPv6 en el nivel del núcleo convencerá a Tomcat para abrir un enlace IPv4.
fuente
Junto con la otra respuesta usando setenv.sh y CATALINA_OPTS ...
Usando Tomcat SSL con APR, la única forma en que pude hacer que Tomcat se vincule a ipv4 fue agregar esto a la configuración del conector:
server.xml tiene este aspecto:
fuente
Debian 8 navegue hasta usar su editor favorito en / etc / default / grub ; busque la sección GRUB_CMDLINE_LINUX_DEFAULT = "quiet" ** y luego agregue ipv6.disable = 1 , como se ve a continuación
GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable = 1 silencioso"
Guardar y Salir. En el mismo directorio, use su editor favorito en / etc / default / tomcat8, luego busque la sección con JAVA_OPTS = que se comentará, agregue lo siguiente debajo de esa línea. JAVA_OPTS = "$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"
Guardar y Salir
En el símbolo del sistema, escriba update-grub , si tiene sudo use con sudo, reinicie el servicio tomcat8 restart tomcat8
Deberías estar en IPv4 ahora.
Por favor, en futuras publicaciones incluya rutas completas y nombres de archivos. Gracias
fuente