Como alguém consegue ligar o tomcat ao endereço ipv4?

29

Eu recentemente instalei o tomcat através de um script de instalação da comunidade apache solr typo3 e passei os últimos 3 dias tentando descobrir por que ele não funcionaria até que por acaso notei que quando eu questionei o processo escutando na porta via " lsof -i ", foi ligado ao protocolo ipv6. Eu pesquisei em todos os lugares e a maioria diz que configurar o endereço para 0.0.0.0 no conector do tomcat resolve esse problema, outros dizem configurar JAVA_OPTS="- Djava.net.preferIPv4Stack = true" ; Eu tentei o primeiro que não funciona, mas o último eu não tenho certeza de onde colocá-lo. Uma solução que eu li em algum lugar sugeriu colocá-lo em setenv.sh , mas não consigo encontrar esse arquivo na minha instalação do tomcat. Eu apreciaria qualquer ajuda no momento sobre isso. A versão do tomcat é 6.xe o sistema operacional é o Ubuntu 11.10. Obrigado

    
por Dark Star1 20.05.2012 / 20:57

7 respostas

21

Muitos sugeriram atualizar o script de inicialização catalina.sh . Sim, essa solução funcionaria, mas o script catalina.sh não deve ser personalizado / atualizado. Todas as alterações devem entrar no script de personalização, ou seja, setenv.sh .

NOTA: TOMCAT_HOME/bin/setenv.sh não existe por padrão, você precisa criá-lo. Verifique o script catalina.sh e você verá que o script de inicialização verifica se setenv.sh existe e se executa.

Então, sugiro que você crie um novo script TOMCAT_HOME/bin/setenv.sh com uma única linha:

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true "
    
por 01.02.2014 / 03:49
26

Ok, finalmente resolvi. Fui direcionado para tentar isso e a solução de Henk. Nenhum dos dois parecia funcionar com o servidor virtual remoto. Eu estou supondo o fato de que, porque eu estou em um espaço de kernel compartilhado, o provedor impede isso. De qualquer forma, adicionei: JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses ao script de inicialização catalina.sh e isso parece ter resolvido o problema de vincular o tomcat ao ipv6.

    
por 21.05.2012 / 14:34
4

A sintaxe correta para modificar o catalina.sh seria:

JAVA_OPTS=" $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true "
    
por 01.01.2013 / 23:15
3

Se você usou este instalador: " Apache Solr para TYPO3 ", você pode altere o endereço no arquivo server.xml . O padrão aponta para localhost, portanto, procure por 127.0.0.1 e altere-o para o endereço IPv4 desejado. Não se esqueça de reiniciar o Tomcat6 para que as alterações entrem em vigor.

UPDATE, 20120521

Veja meu comentário abaixo sobre como desabilitar o IPv6 no Ubuntu 11.10.

Eu testei isso com sucesso em uma Virtualbox-VM no meu Mac. O endereço da porta do conector 8080 foi alterado de 127.0.0.1 para 0.0.0.0 em server.xml .

Em seguida, desabilitar o IPv6 faz com que o "tcp6" desapareça, por isso é vinculado a um endereço somente IPv4.

Antes / com o IPv6 ativado:

# netstat -anp | grep 8080   
tcp6       0      0 :::8080                 :::*                    LISTEN      1972/java

Após / IPv6 desativado:

# netstat -anp | grep 8080   
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      2045/java
    
por 20.05.2012 / 21:25
0

Embora provavelmente não seja o método preferido, observei que desabilitar o IPv6 no nível do kernel convencerá o Tomcat a abrir um Ligação IPv4.

    
por 14.07.2015 / 19:25
0

Juntamente com a outra resposta usando setenv.sh e CATALINA_OPTS ...

Usando o Tomcat SSL com APR, a única maneira de conseguir vincular o Tomcat ao ipv4 era adicionar isso à configuração do conector:

address="0.0.0.0"

server.xml tem esta aparência:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150"
               SSLEnabled="true"
               scheme="https"
               compression="off"
               connectionTimeout="1190"
               address="0.0.0.0"
               >
    
por 05.04.2018 / 10:13
-2

Debian 8 navegue para usar seu editor favorito em / etc / default / grub ; procure a seção GRUB_CMDLINE_LINUX_DEFAULT ="quiet" ** e, em seguida, adicione ipv6.disable = 1 , conforme visto abaixo

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable = 1 silêncio"

Salve e saia. No mesmo diretório use seu editor favorito em / etc / default / tomcat8 e então procure a seção com JAVA_OPTS = que será comentada, adicione o seguinte abaixo dessa linha. JAVA_OPTS="$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"

Salvar e sair

No prompt de comando, digite update-grub , se você tiver sudo use com sudo, então reinicie o tomcat8 service tomcat8 restart

Você deve estar no IPv4 agora.

Por favor, no futuro, os posts incluem caminhos completos e nomes de arquivos. Obrigado

    
por 26.02.2018 / 22:02