Quando se utiliza o TOTVS | Broker HTTP para balancear TOTVS | SmartClient HTML e o TOTVS | Application Server está utilizando a porta multi protocolo, na chave REMOTE_SERVER do ini do broker devem ser colocados o IP e a porta multi protocolo de cada application server que está sendo balanceado pelo broker.
Como o padrão da porta multi protocolo é conexão encriptada, então também vai ser necessária a configuração de comunicação encriptada com o application server no ini do broker.
Caso esteja sendo usada a porta multi protocolo sem encriptação, então não deve ser colocada a configuração de comunicação encriptada com o application server no ini do broker.
A configuração de comunicação encriptada entre o broker e o application server é controlada pela chave SSL_ENCRYPT_UPSTREAM no ini do broker.
Com SSL_ENCRYPT_UPSTREAM=1 a comunicação entre broker e o application server é encriptada. Se esta chave não existir ou tiver o valor 0, a comunicação entre broker e o application server será não encriptada.
Além diso, quando o application server tem configurada a chave APP_ENVIRONMENT=nome_environment e a porta multi protocolo está configurada com encriptação, o browser precisa necessariamente ser utilizado com uma url https.
Neste caso, o broker precisa ser configurado com os certificados de segurança, como no exemplo abaixo.
Obs. Mesmo sem a utilização da chave APP_ENVIRONMENT, é possível a utilização de url https no browser, desde que as chaves de segurança estejam configuradas no broker.
EXEMPLO DE CONFIGURAÇÃO USANDO PORTA MULTI PROTOCOLO ENCRIPTADA E CHAVE "APP_ENVIRONMENT=nome_environment."
Caso o Broker esteja configurado como SSL, é obrigatória também a configuração do SSL nos AppServers Secundários (mais informações clique aqui)
caso contrário, podem haver problemas de comunicação com rotinas que utilizam o componente TWebEngine (ex: rotinas escritas em POUI).
------------------------------------------------------------------------------------
Configuração do application server (appserver.ini)
[GENERAL]
....
....
APP_ENVIRONMENT=nome_environment
....
....
; configuração utilizada
; 1. porta multi protocolo habilitada (padrão)
; 2. encriptação habilitada (padrão)
[DRIVERS]
ACTIVE=TCP
[TCP]
TYPE=TCPIP
PORT=porta_multiprotocolo
....
....
; configuração do webapp: esta porta **não** vai ser usada pelo broker
; 1. appserver está utilizando a porta multi protocolo com encriptação
; 2. broker vai ser configurado para utilizar a porta multi protocolo
; 3. então o webapp não deve ser configurado com encriptação
[WEBAPP]
port=porta_webapp
-------------------------------------------------------------
Configuração do broker HTTP (appserver.ini do broker)
[BALANCE_HTTP]
LOCAL_SERVER_PORT = porta_broker
REMOTE_SERVER_01 = ip_appserver porta_multiprotocolo_appserver
REMOTE_SERVER_02 = ip_appserver porta_multiprotocolo_appserver
(etc)
; comunicação encriptada com o appserver
SSL_ENCRYPT_UPSTREAM = 1
; comunicação encriptada com o client (browser)
SSL_METHOD=SSL/TLS
SSL_CERTIFICATE=totvs_certificate.crt
SSL_KEY=totvs_certificate_key.pem
....
....
-------------------------------------------------------------
Os certificados utilizados no exemplo acima são os disponibilizados no pacote do TOTVS | Application Server.
Para mais detalhes sobre estes certificados consultar a página https://tdn.totvs.com.br/display/tec/Application+Server+-+Porta+Multiprotocolo.
Fica a critério do cliente utilizar outros certificados.
O usuário vai acessar o broker via uma url https://ip_broker:porta_broker/webapp.
EXEMPLO DE CONFIGURAÇÃO USANDO PORTA MULTI PROTOCOLO ***NÃO*** ENCRIPTADA
esta configuração vale tanto com chave APP_ENVIRONMENT utilizada ou não
-------------------------------------------------------------
Configuração do application server (appserver.ini)
[GENERAL]
....
....
APP_ENVIRONMENT=nome_environment
....
....
; configuração utilizada:
; 1. porta multi protocolo habilitada (padrão)
; 2. encriptação desabilitada
[DRIVERS]
ACTIVE=TCP
MultiProtocolPortSecure=0
[TCP]
TYPE=TCPIP
PORT=porta_multiprotocolo
....
....
; configuração do webapp: esta porta **não** vai ser usada pelo broker
; 1. appserver está utilizando a porta multi protocolo sem encriptação
; 2. broker vai ser configurado para utilizar a porta multi protocolo
; 3. então o webapp não deve ser configurado com encriptação
[WEBAPP]
port=porta_webapp
-------------------------------------------------------------
Configuração do broker HTTP (appserver.ini do broker)
[BALANCE_HTTP]
LOCAL_SERVER_PORT = porta_broker
REMOTE_SERVER_01 = ip_appserver porta_multiprotocolo_appserver
REMOTE_SERVER_02 = ip_appserver porta_multiprotocolo_appserver
(etc)
....
....
-------------------------------------------------------------
O usuário vai acessar o broker via uma url http://ip_broker:porta_broker/webapp.
Observação: nas versões 19.3.1.x do TOTVS | Application Server, para utilizar o Smartclient HTML com interface PO-UI (chave APP_ENVIRONMENT=ENVIRONMENT) também é necessário configurar a chave CheckRedirectMsg=1 na seção [MPP] do appserver.ini de cada instância de TOTVS | Application Server.