Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Inicialmente é importante ressaltar que problemas encontrados no certificado, como por exemplo, carregar em ambiente 'não seguro' NÃO funcionará o processo de login no aplicativo pelo celular visto restrições de segurança, mesmo que o funcionamento ocorra normalmente pelo browser, pois temos a possibilidade de permitir a habilitação do carregamento de urls não seguras.

  • Diferente de serviços HTTP, para os serviços REST não temos a possibilidade de escolher o endereço da URL, sendo assim os serviços inicializados no servidor responderá aos IPs disponíveis no mesmo.
  • Provavelmente o seu serviço de APIs REST estará instalado em um servidor que responda a um IP Externo, consequentemente não faz sentido subir uma porta do REST que não possua o seu certificado SSL:
    • Caso deseje configurar uma API apenas com HTTP indicamos subir e utilizar um appserver apenas em um servidor físico em sua rede local.
    • Ao utilizar o SSL verifique as características do seu certificado baseado nas informações dos tópicos anteriores.
  • A palavra 'URL' dentro da tag [HTTPENV] deverá possuir inicialmente a palavra 'rest' é obrigatória para a utilização da arquitetura do App MeuRH, principalmente quando utilizada pelo celular:
    • Após a palavra 'rest' você poderá possuir quaisquer nomes para compor a sua URL de APIs, em nosso caso de uso nossa URL ficaria como https://104.210.222.191:8107/restT1
    • Entretanto, por nosso certificado criado não estar habilitado para esse IP público estaremos utilizando o serviço REST sem ssl para esse ambiente, respondendo em httpem http://104.210.222.191:8107/restT1rest
    • Sendo assim, apenas foi retirado as informações referente ao certificado da tag [HTTPREST].  
  • Referente a tag [RESTCONFIG], ela é criada exclusivamente para utilização da arquitetura do App MeuRH:
    • A palavra 'restPort'  é utilizada pelos serviços de backend por isso a obrigatoriedade do seu preenchimento, sendo assim, apesar do protheus em seu appserver permitir que se possa instanciar várias portas REST, em virtude da arquitetura do meurh esse contexto não é permitido.
    • Em relação a palavra reservada 'MeuRHLog' ela auxilia no processo de login e manutenção para identificar possíveis dificuldades no processo de configuração e divergências de login, posteriormente, também pode ser desligada utilizando o valor '0' para melhorar a performance de resposta do aplicativo.
  • Não deixe de confirmar se a porta do serviço REST utilizada está liberada em seu firewall para permitir receber as requisições. 
  • Não deixe também de habilitar o item 'SECURITY', pois ele é responsável em exigir as autenticações para a utilização das API´s, caso não estejam ligados o server responderá qualquer requisição recebida sem validação.

...

[HTTPREST]
Port=8107
SECURITY=1
URIs=HTTPENV
SSL2=1
SSL3=1
TLS1=1
TLS1_0=1
TLS1_1=1
TLS1_2=1
verbose=0
CertificateServer=c:\totvs\certificate.crt
KeyServer=c:\totvs\private.key
PassPhrase=meurhpwd

[HTTPENV]
URL=/restT1rest
PrepareIn=T1
Instances=2,1
ENVIRONMENT=12.1.27
Public=fwjwt/refresh_token,auth
CORSEnable=1
AllowOrigin=*

...

03. Sobre Configuração do HTTP

SSL (Secure Sockets Layer) permite uma comunicação criptografada entre um site e um navegador, porém está depreciada, sendo substituida pelo TLS(Transport Layer Security). Certificados que não fornecem TLS no processo de criptografia possuem um baixo nível de segurança e grade, abaixo teremos um tópico para validação do seu certificado.

Em relação as configurações de hosts HTTP no seu 'appserver.ini', essas informações abaixo são importantes e complementares ao processo de instalação:

  • É obrigatório a informação da tag mesmo que você deseje utilizar apenas utilizar o serviço HTTPs, entretanto, você desabilitar com 'enable=0' para que nenhuma requisição seja respondida por qualquer host configurado. 
  • Por padrão web e também do server protheus é importante relembrar que por padrão utilizando o protocolo HTTP a porta padrão é 80, enquanto utilizando HTTPs a porta padrão é 443.
    • A utilização de portas diferentes irá obriga-lo a configura-las nos hosts, veja no próximo tópico.
  • Lembre-se de liberar as portas utilizadas em seus serviços de firewall em seu servidor.
  • Procure utilizar a palavra reservada 'compression', essa funcionalidade realiza automaticamente no server uma compressão gzip nos arquivos que serão enviados e os browsers já fazem essa descompactação do arquivos, assim os processos de transferência/download e inicialização ficam mais rápidos.
  • Caso realizem alguma configuração para esconder URLs quando a utilização ocorrer via browsers através de iframe é necessário configurar e informar a palavra reservada 'xFrameOptions'.

[HTTP]
ENABLE=1
PATH=C:\Protheus_12127\Protheus_data\web
PORT=80
ENVIRONMENT=12.1.27
XFrameOptions = ALLOW-FROM http://meurh.world
Compression=1

[HTTPS]
ENABLE=1
PATH=C:\Protheus_12127\Protheus_data\web
PORT=443
ENVIRONMENT=12.1.27
XFrameOptions = ALLOW-FROM http://meurh.world
Compression=1
VERBOSE=1
SSL2=1
SSL3=1
TLS1=1
TLS1_0=1
TLS1_1=1
TLS1_2=1
CertificateServer=C:\Protheus_12127\bin\appserver\meurh_certificate.crt
KeyServer=C:\Protheus_12127\bin\appserver\meurh_private.key
PassPhrase=2020MeuRH#pwd


04. Sobre Configuração de Hosts HTTP

  • Os Hosts são as suas URLs disponíveis que são responsáveis em trafegar as seus arquivos clients declarados na palavra passe 'path'.
  • Em relação a utilização e declaração de uma URL como host é necessário realizar a publicação desse subdomínio com seu respectivo IP Externo nos servidores DNS, no provedor de internet caso não possua um servidor de publico na sua empresa. Do contrario será possível acessar diretamente pelo browser apenas o seu endereço IP Externo
  • Sobre a utilização de outras portas para HTTP, além das portas padrões comentadas no item anterior desse documento, será necessário inclui-las na composição do seu host, exemplo:
    • Caso tenha declarado que a porta do seu HTTP será 8080 ou HTTPs como 8433.
    • Precisará configurar a respectiva porta em seu host, ficando [104.210.222.191:8080]  ou  [104.210.222.191:8433] 
    • Consequente em seu browser deverá ser acessado http://104.210.222.191:8080 ou  https://104.210.222.191:8433
  • Outra informação relevante é que caso tenha caso tenha informado algum identificador posteriormente ao nome da URL Rest configurada, em virtude da arquitetura de utilização via aplicativo no celular será necessário incluir esse complemento na declaração do seu host, exemplo:
    • Supondo que tenha informado na sua configuração do REST 'URL=/restT1'
    • A sufixo T1 deverá estar composto na declaração de sua URL [104.210.222.191/T1] , sendo assim o seu acesso deverá ser feito pelo browser como https://104.210.222.191/T1

[portal.meurh.world]
ENABLE=1
PATH=C:\Protheus_12127\Protheus_data\web\PortalMeuRH
DEFAULTPAGE=index.html

[104.210.222.191]
ENABLE=1
PATH=C:\Protheus_12127\Protheus_data\web\PortalMeuRH
DEFAULTPAGE=index.html


0504. Sobre Configuração do Properties.json

...