Configurando HTTPS no Wildfly

Esta configuração é apenas para habilitar o https em uma máquina de desenvolvimento com o Servidor de Aplicação Wildfly. Não fui a fundo na questão de segurança já que não sou eu que administro o servidor onde vai rodar a aplicação. Portanto não use isto em ambiente de produção.

Estou usando o Wildfly 8.2.0.Final.

  1. A primeira coisa a fazer é entrar no diretório da instalação do Wildfly, na pasta ./standalone/configuration/  e executar o seguinte comando:
    keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 7360 -keystore localhost.keystore -keypass mypassword -storepass mypassword -dname "cn=Server Administrator,o=Acme,c=GB"
  2. Edite o arquivo ./standalone/configuration/standalone.xml e adicione o seguinte xml dentro de security-realms:
    <security-realm name="UndertowRealm">
    	<server-identities>
    		<ssl>
    			<keystore path="localhost.keystore" relative-to="jboss.server.config.dir" keystore-password="mypassword"/>
    		</ssl>
    	</server-identities>
    </security-realm>
  3. Em seguida adicione a linha abaixo dentro de subsystem undertow -> server
    <https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>

    Veja como ficou a entrada completa:

    <subsystem xmlns="urn:jboss:domain:undertow:1.2">
    	<buffer-cache name="default"/>
    	<server name="default-server">
    		<http-listener name="default" socket-binding="http"/>
    		<https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
    		<host name="default-host" alias="localhost">
    			<location name="/" handler="welcome-content"/>
    			<filter-ref name="server-header"/>
    			<filter-ref name="x-powered-by-header"/>
    		</host>
    	</server>
    	<servlet-container name="default">
    		<jsp-config/>
    		<websockets/>
    	</servlet-container>
    	<handlers>
    		<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
    	</handlers>
    	<filters>
    		<response-header name="server-header" header-name="Server" header-value="WildFly/8"/>
    		<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
    	</filters>
    </subsystem>

 

Pronto, reinicie o servidor e acesse https://localhost:8443.

Sobre o autor

Um desenvolvedor web veterano que está sempre a procura de novas tecnologias que facilitem o desenvolvimento de aplicativos ricos para a internet. Louco por tecnologia, games e Linux.

Deixe uma resposta