Árvore de páginas


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.

IMPORTANTE: se em um mesmo sistema (máquina física ou VM) existirem vários secundários TOTVS | Application Server em execução, as portas da chave WebApp devem  ter valor diferentes no apppserver.ini de cada instância TOTVS | Application Server, caso contrário o balanceamento será prejudicado. É importante notar que a instância de TOTVS | Application Server vai entrar em operação normal mesmo se ocorrer falha na carga da DLL do WebApp (webapp.dll ou webapp.so), então sempre que houver alguma alteração no appserver.ini dos secundários será preciso validar a configuração das portas WebApp.


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 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

O vídeo a seguir descreve a configuração do Broker HTTP com conexão segura e o balanceamento de dois AppServers com o WebApp.

TOTVS | Application Server.

  • Sem rótulos