Configuracao HTTPS Datasul 12
Configuracao HTTPS Datasul 12
Configuracao HTTPS Datasul 12
TOTVS S.A.
2 Configuração HTTPS Datasul 12
Sumário
TOTVS S.A.
Configuração HTTPS 3
1 Configuração HTTPS
1.1 Introdução
Este documento tem como objetivo documentar a instalação e configuração do apache em
HTTP sobre SSL para funcionamento com o jboss-4.2.3-GA do produto Datasul. Apesar das
configurações serem semelhantes, seguiremos o escopo limitado ao Windows 32bits.
Para finalizar tem um tópico sobre as configurações de Tuning do Apache para melhorar o
desempenho no tratamento das requisições. Esse artigo foi baseado na versão 2.2.xx para windows, no
entanto, as configurações são semelhantes aos outros SOs em que o apache Server-pool está disponível.
Apache
Documentação Link
Instalador Link
Arquivo httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
TOTVS S.A.
4 Configuração HTTPS Datasul 12
d. Definir a porta 80 como padrão do apache. Caso essa porta não esteja disponível defina outra
nesse momento. Lembrando que, essa porta precisa estar liberada em regras de firewalls para
correto funcionamento.
e. Finalizar a instalação.
f. Verificar se na bandeja de ícones, ao lado do relógio do sistema aparece o ícone do apache.
Caso esteja verde está online caso contrário deve-se clicar com o botão esquerdo e iniciar o
serviço.
g. Abrir o navegador de sua preferência e digitar http://<server> e o apache deve mostrar uma
página com a mensagem "It works!"
TomCat Connector
Instalador Link
TOTVS S.A.
Configuração HTTPS 5
TOTVS S.A.
6 Configuração HTTPS Datasul 12
#</Location>
#<Location /jk-manager>
# # Inside Location we can omit the URL in JkMount
# JkMount jk-manager
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
#</Location>
# If you want to put all mounts into an external file
# that gets reloaded automatically after changes
# (with a default latency of 1 minute),
# you can define the name of the file here.
JkMountFile conf/uriworkermap.properties
# Example for Mounting a context to the worker "balancer"
# The URL syntax "a|b" instantiates two mounts at once,
# the first one is "a", the second one is "ab".
# JkMount /myapp|/* balancer
# Example for UnMounting requests for all workers
# using a simple URL pattern
# Since: 1.2.26
# JkUnMount /myapp/static/* *
# Example for UnMounting requests for a named worker
# JkUnMount /myapp/images/* balancer
# Example for UnMounting requests using regexps
# SetEnvIf REQUEST_URI "\.(htm|html|css|gif|jpg|js)$" no-jk
# Example for setting a reply timeout depending on the request URL
# Since: 1.2.27
# SetEnvIf Request_URI "/transactions/" JK_REPLY_TIMEOUT=600000
# Example for disabling reply timeouts for certain request URLs
# Since: 1.2.27
# SetEnvIf Request_URI "/reports/" JK_REPLY_TIMEOUT=0
# IMPORTANT: Mounts and virtual hosts
# If you are using VirtualHost elements, you
# - can put mounts only used in some virtual host into its VirtualHost element
# - can copy all global mounts to it using "JkMountCopy On" inside the VirtualHost
# - can copy all global mounts to all virtual hosts by putting
# "JkMountCopy All" into the global server
# Since: 1.2.26
</IfModule>
d2. Abrir o arquivo APACHE_HOME\conf\httpd.conf e adicionar no final do arquivo a linha abaixo fazendo
referência ao arquivo criado no item "d1".
TOTVS S.A.
Configuração HTTPS 7
e1. Abrir o arquivo com editor de sua preferência e colocar o conteúdo abaixo.
TOTVS S.A.
8 Configuração HTTPS Datasul 12
TOTVS S.A.
Configuração HTTPS 9
TOTVS S.A.
10 Configuração HTTPS Datasul 12
TOTVS S.A.
Configuração HTTPS 11
worker.<nome do node>.activation=A
e3. Configurar os nodes (instancias do jboss) para jvmRoute afim de restringir a session do user a um
único node.
e4. Fazer a configuração "e3" para todos os nodes (JBOSS) que participam do balance.
# uriworkermap.properties - IIS
#
# This file provides sample mappings for example wlb
# worker defined in workermap.properties.minimal
# The general syntax for this file is:
# [URL]=[Worker name]
/datasul=balancer
/datasul/*=balancer
/josso=balancer
/josso/*=balancer
/docs=balancer
/docs/*=balancer
TOTVS S.A.
12 Configuração HTTPS Datasul 12
/menu-html=balancer
/menu-html/*=balancer
#!/servlets-examples/*.jpeg=lb
#
# Mount jkstatus to /jkmanager
# For production servers you will need to
# secure the access to the /jkmanager url
#
#/jk-manager=jk-status
h. Iniciar o Apache
1.2.4 Configurar SSL
a. Abrir o arquivo APACHE_HOME/conf/httpd.conf
c3. Localizar a propriedade SSLCertificateFile e apontar para o arquivo .pem que contenha o certificado e
a chave privada. Caso a chave privada esteja em outro arquivo é possível configurar o certificado no
SSLCertificateFile e a chave privada na propriedade SSLCertificateKeyFile.
c4. Para produzir um "arquivo.pem" a partir de um "arquivo.jks" deve-se executar o seguinte comando.
TOTVS S.A.
Configuração HTTPS 13
Configurações do certificado:
<Connector port="8050" address="${jboss.bind.address}" protocol="AJP/1.3"
emptySessionPath="true" enableLookups="false" redirectPort="8443"
maxThreads="150"
SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="<caminho para o certificado jks>"
keyAlias="<alias do certificado>"
keystorePass="<pwd do certificado>"/>
f. Reiniciar o apache.
Com essas configurações o sistema rodará normalmente, porém vale relembrar que o sistema
funcionará completamente em HTTP sobre SSL com a compilação do Flex com os endpoints em
HTTPS. Sendo assim, é necessário que seja feita a compilação dos fontes com os endpoints alterados.
Apache
BeOS Link
Netware Link
OS/2 Link
TOTVS S.A.
14 Configuração HTTPS Datasul 12
Unix Link
Windows Link
Para:
Para:
<IfModule mpm_worker_module>
StartServers 15
MaxClients 300
TOTVS S.A.
Configuração HTTPS 15
MinSpareThreads 50
MaxSpareThreads 100
ThreadsPerChild 50
MaxRequestsPerChild 500
</IfModule>
De:
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>
Para:
<IfModule mpm_winnt_module>
ThreadsPerChild 600
MaxRequestsPerChild 500
</IfModule>
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 10000
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15
Salvar o o arquivo e iniciar o apache. Desta forma o apache estará apto a executar dentro de um limite
TOTVS S.A.
16 Configuração HTTPS Datasul 12
Observação: Deve-se ter cuidado com os recursos utilizados no server para não consumir o SO por
completo e deixar o sistema ainda mais lento.
ATENÇÃO: A utilização da configuração do IIS com ambiente Flex não é suportada. Válido
somente para ambientes com o Menu HTML.
Abaixo um roteiro de configuração para o referido cenário, onde serão utilizados nomes, IP e
portas somentes para demonstração.
TOTVS S.A.
Configuração HTTPS 17
TOTVS S.A.
18 Configuração HTTPS Datasul 12
D. Abrir a extensão “URL Rewrite” e criar uma regra de entrada conforme abaixo, que vai
redirecionar as URLs do produto para o servidor do JBoss na LAN.
TOTVS S.A.
Configuração HTTPS 19
TOTVS S.A.
20 Configuração HTTPS Datasul 12
E. Criar uma regra de saída que vai alterar os redirecionamentos internos (http) retornados do
JBoss para o endereço externo (https).
TOTVS S.A.
Configuração HTTPS 21
TOTVS S.A.
22 Configuração HTTPS Datasul 12
F. Criar outra regra de saída para tratar endereços internos passados como parâmetros nas
URLs.
TOTVS S.A.
Configuração HTTPS 23
TOTVS S.A.
24 Configuração HTTPS Datasul 12
G. Criar mais uma regra de saída para tratar endereços internos no conteúdo HTML/JS retornado
pelo JBoss.
TOTVS S.A.
Configuração HTTPS 25
TOTVS S.A.
26 Configuração HTTPS Datasul 12
Observações:
Caso ainda não tenha sido feito, é necessário importar o certificado HTTPS no IIS, abrindo a extensão
"Certificados do Servidor".
Diferente da configuração com o Apache Server, não são necessárias configurações extras no JBoss.
A comunicação entre o browser externo e o IIS é feita via HTTPS, mas entre o IIS e JBoss continua
sendo HTTP.
TOTVS S.A.
Configuração HTTPS 27
TOTVS S.A.