J'ai récemment installé tomcat via un script d'installation de la communauté apache solr typo3 et j'ai passé les 3 derniers jours à essayer de comprendre pourquoi cela ne fonctionnerait pas jusqu'à ce que je remarque par hasard que lorsque j'ai interrogé le processus en écoutant sur le port via "lsof -i ", il était lié au protocole ipv6. J'ai googlé partout et la plupart disent que la définition de l'adresse à 0.0.0.0 dans le connecteur tomcat résout ce problème, d'autres disent que la définition de JAVA_OPTS = "- Djava.net.preferIPv4Stack = true" ; J'ai essayé le premier qui ne fonctionne pas mais le second je ne sais pas où le mettre. Une solution que j'ai lue quelque part a suggéré de la mettre dans setenv.shmais je ne trouve pas ce fichier dans mon installation tomcat. J'apprécierais pour le moment toute aide à ce sujet. La version tomcat est 6.x et le système d'exploitation est ubuntu 11.10. Merci
32
Réponses:
Beaucoup ont suggéré de mettre à jour
catalina.sh
le script de démarrage. Oui, cette solution fonctionnerait, mais lecatalina.sh
script n'est pas destiné à être personnalisé / mis à jour. Toutes les modifications doivent plutôt entrer dans le script de personnalisation, c'est-à-diresetenv.sh
.REMARQUE:
TOMCAT_HOME/bin/setenv.sh
n'existe pas par défaut, vous devez le créer. Vérifiez lecatalina.sh
script et vous verrez le script de démarrage vérifier s'ilsetenv.sh
existe et s'exécute si tel est le cas.Donc, je vous suggère de créer un nouveau
TOMCAT_HOME/bin/setenv.sh
script avec une seule ligne:la source
Ok je l'ai finalement résolu. On m'a demandé d' essayer ceci et la solution de Henk. Aucun des deux ne semblait fonctionner avec le serveur virtuel distant. Je suppose que parce que je suis sur un espace de noyau partagé, le fournisseur empêche cela. Dans tous les cas, j'ai ajouté:
JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
au script de démarrage catalina.sh et cela semblait avoir résolu le problème de la liaison de tomcat à ipv6.la source
La syntaxe correcte pour modifier catalina.sh serait:
la source
Si vous avez utilisé ce programme d'installation: " Apache Solr pour TYPO3 ", vous pouvez modifier l'adresse dans le fichier
server.xml
. La valeur par défaut pointe vers localhost, alors recherchez 127.0.0.1 et changez-le en l'adresse IPv4 que vous souhaitez. N'oubliez pas de redémarrer Tomcat6 pour que les modifications prennent effet.MISE À JOUR, 20120521
Voir mon commentaire ci-dessous sur la façon de désactiver IPv6 sur Ubuntu 11.10.
J'ai testé cela avec succès sur une Virtualbox-VM sur mon Mac. L'adresse du port de connecteur 8080 est passée de 127.0.0.1 à 0.0.0.0 in
server.xml
.Ensuite, la désactivation d'IPv6 fait disparaître le "tcp6", il est donc lié à une adresse IPv4 uniquement.
Avant / avec IPv6 activé:
Après / IPv6 désactivé:
la source
Bien que ce ne soit probablement pas la méthode préférée, j'ai observé que la désactivation d'IPv6 au niveau du noyau convaincrait Tomcat d'ouvrir une liaison IPv4.
la source
Avec l'autre réponse en utilisant setenv.sh et CATALINA_OPTS ...
En utilisant Tomcat SSL avec APR, la seule façon de faire en sorte que Tomcat se lie à ipv4 était d'ajouter ceci à la configuration du connecteur:
server.xml ressemble à ceci:
la source
Debian 8 navigue pour utiliser votre éditeur préféré sur / etc / default / grub ; recherchez la section GRUB_CMDLINE_LINUX_DEFAULT = "quiet" ** avec puis ajoutez ipv6.disable = 1 , comme indiqué ci-dessous
GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable = 1 silencieux"
Sauvegarder et quitter. Dans le même répertoire, utilisez votre éditeur préféré sur / etc / default / tomcat8 puis recherchez la section avec JAVA_OPTS = qui sera commentée, ajoutez ce qui suit sous cette ligne. JAVA_OPTS = "$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"
Sauvegarder et quitter
À l'invite de commandes, tapez update-grub , si vous utilisez sudo avec sudo, redémarrez le service tomcat8 tomcat8 restart
Vous devriez maintenant être sur IPv4.
Veuillez, dans les prochains articles, inclure les chemins d'accès complets et les noms de fichiers. Je vous remercie
la source