Aqui serão detalhadas para todas as seções de configuração do TSS REST SERVER as respectivas chaves possíveis de serem configuradas no appserver.ini do TSS, possibilitando assim, maior controle do(s) servidor(es) e serviço(s) REST do TSS REST SERVER.
Para para um melhor entendimento, serão quebradas por seções, devendo ser incluídas no appserver.ini do TSS.
Seção responsável por iniciar as configurações do TSS REST SERVER (HTTPSERVER).
De todos os nomes de seções que serão tratadas neste documento, esta é a única seção que se deve manter o nome TSSREST_CONFIG.
Abaixo serão detalhadas as chaves desta seção:
Chave | Descrição | Valores Possíveis | Obrigatório | Valor padrão |
---|---|---|---|---|
Enable | Responsável por habilitar ou desabilitar a subida/criação do TSS REST SERVER (HTTPSERVER). | 0=Desabilitado ou 1=Habilitado | Não | 1 |
Servers | Nome das seções de servers com configuração de porta e URL. Por ela é possível definir um ou mais servidores, sendo assim, pode-se informar uma lista. Como exemplo será adotado o nome TSSREST_SERVER. | Nome livre | Sim | |
Charset | Chave para definir com qual Codepage que será configurado no REST. | Exemplos: ASCII, UTF-8, ANSI e ISO-8859-1 | Não | UTF-8 |
Log | Define se habilita ou não a gravação dos logs de eventos do HttpServer. Para mais detalhes | 0=Desabilitado ou 1=Habilitado | Não | 0 |
[TSSREST_CONFIG] Enable=1 Servers=TSSREST_SERVER Charset=UTF-8 Log=1
Define as configurações de cada servidor HTTP e/ou HTTPS informados na chave {SERVERS} na seção TSSREST_CONFIG.
Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos tratar como [TSSREST_SERVER] apenas para exemplo.
Abaixo serão detalhadas as chaves desta seção:
Chave | Descrição | Valores Possíveis | Obrigatório | Valor padrão |
---|---|---|---|---|
Port | Define a porta em que o servidor atenderá às requisições após ativado. | Campo livre | Sim | |
URIs | Define o nome das sessões (URIs) deste servidor. O(s) nome(s) definido(s) nesta chave serão utilizado(s) na chave de URI (neste exemplo usaremos: TSSREST_URI) | Campo livre | Sim | |
SslCertificate | Informar o path com o nome do arquivo do certificado digital, para utilização do REST com o protocolo HTTPS/SSL (caminho absoluto). Para mais detalhes, verificar documentação: Porta Multiprotocolo - Geração de Certificado | Campo livre | Não | |
SslCertificateKey | Informar o path com o nome do arquivo com a chave do certificado digital, para utilização do REST com o protocolo HTTPS/SSL (caminho absoluto). | Campo livre | Não | |
SslPassPhrase | Senha utilizada para autenticar o arquivo de certificado digital | Campo livre | Não | |
SslprotocolMin | Configuração de protocolo de segurança mínimo a ser aplicado na configuração do REST. | SSL/TLS, TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 | Não | SSL/TLS |
SslprotocolMax | Configuração de protocolo de segurança máximo a ser aplicado na configuração do REST. * Ainda em fase de desenvolvimento por parte de binários de Tecnologia TOTVS | SSL/TLS, TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 | Não | SSL/TLS |
[TSSREST_SERVER] Port=1323 URIs=TSSREST_URI Security=1 SslprotocolMin=TLSv1.0 SslprotocolMax=TLSv1.3 SslCertificate=C:\certificados\https_rest\cert_rest.crt SslCertificateKey=C:\certificados\https_rest\cert_rest.pem SslPassPhrase=123456
Através da URIs
Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos tratar como [TSSREST_SERVER] apenas para exemplo.
Abaixo serão detalhadas as chaves desta seção:
Chave | Descrição | Valores Possíveis | Obrigatório | Valor padrão |
---|---|---|---|---|
URL | URN do site | Texto livre | Não | / |
RootPath | Diretório onde estão armazenados os arquivos do site, pode ser informado como um path absoluto ou relativo ao diretório onde o servidor de aplicações executa | Texto livre | Não | ROOTPATH do TSS + '\http-root\tssrest\' |
DefaultPage | Páginas iniciais que serão inicializadas no acesso a URL. Podem ser informadas várias páginas separados por espaço. Podem ser definidas mais de uma página default separados pode vírgula (,) | Texto livre | Não | index.html |
Instances | Indica o controle de thread pool disponíveis para atender as requisições de APIs no TSS REST SERVER, em formato P1,P2,P3,P4. Onde: P1 = Indica a quantidade mínima de threads ativas no thread pool. Deve ser maior que zero. P2 = Indica a quantidade máxima de threads ativas no thread pool. Deve ser maior ou igual que P1. P3 = Indica a quantidade mínima de threads prontas para execução no thread pool. Deve ser positivo e menor ou igual a P1. P4 = O fator de crescimento, indica a quantidade de threads a serem alocadas. Deve ser maior que zero. | Mínimo, Máximo, Mínimo Livre, Fator Crescimento | Não | 1,4,1,1 |
CORSEnable | Habilita utilização de controle de CORS | 0=Desabilitado ou 1=Habilitado | Não | 1 |
AllowOrigins | Define lista de domínios permitidos para acessar as APIs do servidor REST. Exemplo: https://www.dominio.com.br/, https://10.172.0.84:1081/, http://localhost:1080/ | *=Para liberar todos os domínios ou texto livre com os domínios separados por virgula. | Não | * |
AllowMethods | Define lista de métodos HTTP permitidos para acessar as APIs do servidor REST | GET,POST,PUT,DELETE,PATCH,OPTIONS,HEAD | Não | GET,POST,PUT,DELETE,PATCH,OPTIONS,HEAD |
ExpirationTime | É o tempo em segundos que a thread aguarda uma nova requisição. Se expirado a thread retorna a aguardar uma requisição ou finalizara conforme análise dos controles da quantidade de threads. O valor deve se maior que zero se não for informado o sistema assume o valor padrão. | Não | 60 | |
AcceptTimeOut | É o tempo em segundos que uma nova requisição aguarda para ser processada. Se expirado a requisição é descartada e o cliente sairá por timeout. O valor deve se maior que zero se não for informado o sistema assume o valor padrão. | Não | 10 |
[TSSREST_URI] URL=/api/tss RootPath=C:\tss\http-root\tssrest\ DefaultPage=index.html Instances=1,10,2,1 CORSEnable=1 AllowOrigins=* AllowMethods=POST,GET,DELETE,PUT ExpirationTime=120 AcceptTimeOut=10
Esta seção define a configuração do JOB responsável por criar o(s) servidor(es) do TSS REST SERVER a ser incluído na seção ONSTART.
O nome desta seção pode variar conforme desejado, neste caso vamos seguir tratando como [JOBTSSREST] apenas para exemplo.
Abaixo serão detalhadas as chaves desta seção:
Chave | Descrição | Valores Possíveis | Obrigatório | Valor padrão |
---|---|---|---|---|
main | Nome da função a ser executada. Neste caso deve ser preenchido sempre com: TSSREST_START | TSSREST_START | Sim | |
environment | Nome do ambiente onde será executado o TSS REST SERVER. Normalmente o mesmo nome do ambiente configurado para o TSS. Exemplo: SPED | Texto livre | Sim |
[JOBTSSREST] main=TSSREST_START environment=SPED
Nesta seção deverão ser incluídos os jobs padrão do TSS que irão ser executados, e adicionalmente o job JOBTSSREST de criação e subida do(s) servidor(es) REST do TSS REST SERVER.
Ficando assim a configuração:
[ONSTART] JOBS=JOBTSSREST REFRESHRATE=10
Para incluir mais de um job no ONSTART basta informar as seções separadas por virgula. Exemplo:
[ONSTART]
JOBS=TSSTASKPROC, JOBTSSREST
REFRESHRATE=10