Esse tutorial irá mostrar como habilitar o acesso remoto no Wildfly, de modo que você possa gerenciar seu servidor de aplicação remotamente.
Acredito que qualquer um esteja acostumado a instalar o Wildfly em um computador local com uma interface gráfica e navegadores de internet disponíveis. Deste modo, quando você precisa acessar a página administrativa do seu Wildfly através do link http://localhost:8080/ para gerenciar seu servidor de aplicação, tudo funciona como esperado.
Porém, se o Wildfly estiver rodando em um computador remoto e você tentar acessar sua página administrativa através da rede pelo seu endereço de IP ou hostname, como http://54.94.240.170:8080/ por exemplo, você provavelmente verá uma bela mensagem dizendo algo como Esta página da web não está disponível, em outras palavras, o Wildfly disse “Não, obrigado, eu não estou aceitando requisições de outros caras a não ser os que estão em minha máquina local”.
Pularemos direto para a solução mais rápida para habilitar o acesso remoto, mas você poderá encontrar a explicação de como e porque isso funciona ao final deste tutorial.
Antes de continuar, certifique-se de que a máquina que o seu Wildfly está executando está aceitando requisições TCP nas portas 8080 e 9990.
Se o seu Wildfly estiver executando, acesse seu diretório bin e execute os seguintes comandos para pará-lo:
cd /opt/wildfly-8.2.0.Final/bin ./jboss-cli.sh --connect --command=:shutdown
Em seguida, inicie seu Wildfly utilizando o comando abaixo, o qual adiciona os parâmetros que habilitam o acesso remoto a partir de qualquer origem (IP/hostname) à página administrativa.
./standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 &
Pronto!
Como alternativa à adicionar parâmetros ao seu comando de inicialização, você pode editar seu standalone.xml
para habilitar o acesso remoto à partir de qualquer origem. Essa abordagem é mais recomendada se você costuma acessar sua página administrativa com frequência, deste modo, você não precisará se lembrar de enviar parâmetros adicionais ao comando de inicialização, como mostrado anteriormente.
Primeiramente, acesse o diretório de configuração de seu Wildfly:
cd /opt/wildfly-8.2.0.Final/standalone/configuration
Em seguida, edite o arquivo standalone.xml
utilizando seu editor de arquivos predileto e realize as alterações abaixo:
Substitua isso:
<interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:0.0.0.0}"/> </interface>
Por isso:
<interface name="management"> <any-address/> </interface> <interface name="public"> <any-address/> </interface>
Certifique-se de gravar suas alterações e reinicie seu Wildfly:
/opt/wildfly-8.2.0.Final/bin/jboss-cli.sh --connect --command=:reload
Feito.
A breve história é que, devido à questões de segurança, o Wildfly não deseja expor seus serviços em portas que podem ser acessadas sem a devida autorização. Um destes serviços é o JMX, o qual é utilizado para gerenciar servidores Java através da porta 9990.
Por padrão, o JMX irá permitir apenas conexões originadas de seu local, como foi possível observar no arquivo standalone.xml
. Para alterar este comportamento, você precisa permitir que outros hosts se conectem ao JMX, através de uma das soluções propostas.
Em ambientes de produção e por questões de segurança, tenha cuidado ao expor esse serviço, sendo recomendada a especificação de quais hosts confiáveis poderão acessar o serviço, ao invés de expô-lo a qualquer um, como fizemos neste tutorial.
Espero que ajude. Até mais!
This guide will show you how to create a Python function decorator with a few…
This guide will show you how to fix the error Got permission denied while trying…
This guide will show you how to create a Python virtual environment on Intellij IDEA…
This tutorial will quickly show you how to to find and kill processes on Linux,…
This guide shows a possible solution for Python error Relocation R_X86_64_PC32 against symbol can not…
I condensed below a cheat sheet of Kubernetes useful commands. I will keep updating this…
View Comments
Show! Claro e Objetivo!
Parabens
Bom dia.
Parabéns pela iniciativa, me ajudou bastante.. eu estava tendo um problema mesmo colocando os comandos, porém depois eu vi que tinha escrito o "address" errado..
Valeu!!
Ajudou muito! Direto!
mt foda, funcionou na versão 11, wildfly...
vlw
Cara você salvou minha vida, muito obrigado !!!!!
Fico feliz que eu tenha ajudado!
Muito bom, bgasparotto! Funcionou perfeitamente aqui, foi uma mão na roda isso. Obrigado!
Fico muito feliz que tenha te ajudado! Volte sempre =]
Obrigado, a segunda solução funciona perfeitamente no JBoss Application Server 8
Fico feliz em ter ajudado =]
Post muito bom, só que não conseguir fazer funcionar com nenhuma das opções, existe mais algum método ??
Você recebeu algum erro ou o servidor iniciou e você simplesmente continuou sem acesso? Você está utilizando uma versão superior do Wildfly? Se sim, qual?
Testei agora as duas opções no Wildfly 10 e as duas funcionaram.
Bom saber! Em breve irei atualizar o post para a versão 10. Obrigado!