Índice
Índice |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Objetivo
O objetivo deste guia é expor os passos necessário para utilização do fluig sobre o protocolo HTTPS.
Pré-requisitos
- Possuir um certificado digital válido;
- Ter um host no DNS configurado para o fluig em um domínio específico.
Obter um certificado válido
Para o certificado ser válido para a internet, este deve ser emitido para um domínio específico (WildCard) ou para um host deste domínio, o que torna obrigatório configurar o fluig com o mesmo domínio do certificado caso deseje o uso de HTTPS (ex: *.suaempresa.com.br).
...
Dica |
---|
Uma alternativa gratuita é oferecida pela Linux Foundation através do site Let's Encrypt. Saiba mais acessando a FAQ Certificado HTTPS (SSL/TLS) Gratuito. Caso tenha dúvidas sobre os procedimentos realizados no OpenSSL, consulte a FAQ Utilizando OpenSSL para configurar HTTPS. |
Procedimentos de configuração de SSL
Navegue nos passos abaixo para configuração do SSL no servidor de aplicação:
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | ssl |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- Parar os serviços do fluig (fluig, fluig_indexer, fluig_RealTime e cache, caso estiver utilizando cache externo e.g: MemCached ou redis).
|
Card |
---|
default | true |
---|
id | 2 |
---|
label | Passo 2 |
---|
|
- No arquivo domain.xml, localizado em [Instalação fluig]/appserver/domain/configuration, incluir a tag <https-listener> no subsystem "undertow". Não deve ser retirado a tag contendo as configurações HTTP.
- Na tag HTTP, acrescente o atributo proxy-address-forwarding="true" conforme mostrado abaixo:
- Caso deseje restringir o tráfego de cookie de sessão em conexões seguras (HTTPS), basta incluir nas configurações do subsystem undertow a tag session-cookie informando o atributo secure ="true". (Opcional)
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| <subsystem xmlns="urn:jboss:domain:undertow:3.1">
<...>
<server name="default-server">
<http-listener max-post-size="1073741824" name="default" socket-binding="http" proxy-address-forwarding="true"/> <!-- 2- Adicionar nesta linha o atributo -->
<https-listener max-post-size="1073741824" name="https" secure="true" security-realm="TOTVSTech" socket-binding="https"/> <!-- 1- Incluir esta linha para validação do certificado -->
<...>
</server>
<servlet-container name="default" stack-trace-on-error="local-only">
<...>
<session-cookie http-only="true" secure="true"/> <!-- 3- Incluir esta linha para restringir o tráfego de cookie de sessão -->
</servlet-container>
<...>
</subsystem> |
|
Card |
---|
| - No arquivo host.xml, localizado em [Instalação fluig]/appserver/domain/configuration, altere o <security-realm name="TOTVSTech"> incluindo as configurações de certificado.
Disponibilizamos as instruções de configuração do repositório de certificados no formato PKCS12 (p12) portanto, siga as instruções abaixo: - Incluir a tag <server-identities></server-identities> juntamente com <ssl> e o <keystore> conforme exemplicado no código abaixo;
- No atributo path, informe o diretório do repositório de certificados (keystore.p12).
- Em key-password e keystore-password, substitua a valor "suasenha" pela senha utilizada na criação do repositório de certificados (keystore).
Nota |
---|
| Em <security-realm name="ApplicationRealm"> também contém as configurações de certificado porém, suas informações não devem ser modificadas, deixando os valores padrões salvos. |
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | host.xml |
---|
| <security-realm name="TOTVSTech">
<server-identities>
<ssl>
<keystore path="certs\fluig.p12" keystore-password="suasenha" key-password="suasenha" relative-to="jboss.domain.config.dir"/>
</ssl>
</server-identities>
<...>
</security-realm> |
Dica |
---|
O diretório "certs" é relativo ao diretório de configuração do servidor de aplicação, por exemplo, "C:\fluig\appserver\domain\configuration\certs". Dúvidas sobre a utilização do OpenSSL ou sobre os comandos de exportação do PKCS12 (p12), consulte a FAQ Utilizando OpenSSL para configurar HTTPS. |
|
Card |
---|
|
- Iniciar novamente os serviços do fluig em sua ordem correta (cache, caso estiver utilizando cache externo e.g: MemCached ou redis, fluig_indexer, fluig_RealTime e fluig).
- O acesso será realizado via HTTPS, na porta 8443.
|
|
Configuração para utilização do fluig Studio com SSL
A alteração abaixo é necessária para o correto funcionamento do plugin fluig Studio no TOTVS Developer Studio ou Eclipse quando o SSL está habilitado.
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | studio |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
- No diretório em que o fluig Studio foi instalado, editar o arquivo eclipse.ini;
- Adicione a linha abaixo no final do arquivo.
Bloco de código |
---|
language | bash |
---|
theme | Eclipse |
---|
title | eclipse.ini |
---|
| -Djsse.enableSNIExtension=false |
|
Card |
---|
|
- Para chamadas de Web Service é importante configurar o arquivo de configuração domain.xml localizado em [Instalação fluig]/appserver/domain/configuration.
- Procurar o trecho abaixo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| ...
<subsystem xmlns="urn:jboss:domain:webservices:2.0">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>10.80.73.203</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>
... |
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | domain.xml |
---|
| ...
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>jbossws.undefined.host</wsdl-host>
<wsdl-uri-scheme>https</wsdl-uri-scheme>
<wsdl-secure-port>443</wsdl-secure-port>
<endpoint-config name="Standard-Endpoint-Config"/>
... |
Nota |
---|
Alterar a porta da tag "<wsdl-secure-port>443</wsdl-secure-port>" para a porta de acesso utilizada (Portas padrões 443 e 8443). |
|
|
Configurar notificações em tempo real
O serviço responsável pelas notificações em tempo real (entrega de dados do servidor para os clientes) também deve ser preparado para funcionar via HTTPS, quando essa configuração for realizada no fluig.
...
Após a alteração do package.json, o serviço RealTime (Node.js) deve ser reiniciado.
Certificado digital mobile
As plataformas de dispositivos móveis (iOS, Android) possuem limitações com relação aos certificados digitais. Por padrão, apenas o certificados homologados por elas são reconhecidos como confiáveis.
...
Nota |
---|
|
Caso o seu certificado não esteja na lista dos homologados, realize o procedimento descrito no item Procedimentos de configuração de SSL, mas lembre-se de que o arquivo .p12 que você utilizar deve conter também o certificado intermediário. Para gerar o arquivo .p12 com todos os certificados juntos siga esses passos: - Para gerar o Bundle (intermediário + root):
cat intermediario.pem root.pem > bundle.pem
- Para gerar o PEM do fluig.com:
cat fluig.crt fluig.key bundle.pem > fluig.pem
- Para gerar o PKCS#12 do fluig.com:
openssl pkcs12 -export -out fluig.p12 -inkey fluig.key -in fluig.crt -certfile bundle.pem
|
URL do portal
Após configurar o HTTPS na instalação do fluig, é necessário ajustar a URL do portal com o novo protocolo. Para isto, siga os passos abaixo:
...