Árvore de páginas

Versões comparadas

Chave

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

Pagetitle
HTTPSERVER - Thread Pool
HTTPSERVER - Thread Pool

O segundo nível de configuração(ões) que precisamos fazer para utilização do HTTP Server são as locations ou sites que indica URL raiz que será atendida neste siteOs Thread Pools são responsáveis pelo processamento das requisições dinâmicas feitas aos servidores HTTP. No

Inclusão de trecho
Application Server
Application Server
nopaneltrue
podemos configurar mais de um site para cada servidor um Thread Pool pode atender a mais de uma location. Cada seção de site/location thread pool criada no arquivo de configuração deve ser informada na chave locations threadpool da seção do Server da Location que receberá a requisição HTTP.

Nesta seção podemos configurar as seguintes chaves:


Section
ChaveDescriçãoValoresPadrãoObrigatório
Environment

Environments configura no

Inclusão de trecho
Application Server
Application Server
nopaneltrue

locationDefinição da URL que será atendida.




X
MinThreadsindica a quantidade mínima de threads ativas no thread pool. Deve ser maior que zerosrootCaminho raiz das páginas HTML.

XDefaultPagePáginas iniciais que serão inicializadas no acesso a URL. Podem ser informadas várias páginas separados por espaço.ThreadPoolObrigatório, define qual thread pool irá executar as requisições dinâmicasXCORSlista com as configurações CORS utilizadas pela locationHSTSsessão com a configuração do HSTSXFrameOptions

Permite configurações de X-Frame options.

  • deny: A página não pode ser exibida em um frame, independentemente do site que tente fazê-lo.
  • sameorigin: a página só pode ser exibida em um frame na mesma origem da própria página.
  • allow-from https://example.com/:  a página só pode ser exibida em um frame na origem especificada. Observe que, no Firefox, isso ainda sofre do mesmo problema que o sameorigin - ele não verifica os antepassados ​​do quadro para ver se eles estão na mesma origem.

deny

sameorigin

allow-from https://example.com/

AllowMethodslista dos métodos HTTP permitidos para o site. Somente os métodos permitidos pelo servidor serão válidos. Portanto a interseção deles será utilizada pelo servidor HTTP. O mesmo ocorrerá nas chamadas dinâmicas e para o CORS. Uma nova interseção será criada em cascata. O padrão é ter todos os métodos que o servidor suporta.
Bloco de código
titleExemplo
[LOC01]
Path=/tp01/
RootPath=web
DefaultPage=resttest.html,getstats.html
ThreadPool=TP_01
AllowMethods=GET, POST, PUT, DELETE, OPTIONS, PATCH
CORS=CORS_UPD, CORS_GET
hsts=HSTS_01
XFrameOptions=deny

[LOC02]
Path=/tp01_1/
RootPath=web
DefaultPage=resttest.html,getstats.html
ThreadPool=TP_01
CORS=CORS_GET
hsts=HSTS_02
XFrameOptions=sameorigin

[LOC03]
Path=/tp02/
RootPath=web
DefaultPage=resttest.html,getstats.html
ThreadPool=TP_02
CORS=CORS_UPD
XFrameOptions=allow-from https://example.com/

Painel
titleCORS
MaxThreadsindica a quantidade máxima de threads ativas no thread pool. Deve ser maior ou igual que MinThreads.

X
MinFreeThreadsindica a quantidade mínima de threads prontas para execução no thread pool. Deve ser positivo e menor ou igual a MinThreads.

X
GrowthFactor

é o fator de crescimento, indica a quantidade de threads a serem alocadas. Deve ser maior que zero.



X
InactiveTimeouté o tempo em milisegundos 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 30000, o equivalente a 30 segundos.
30000
AcceptTimeouté o tempo em milisegundos 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 10000, o equivalente a 10 segundos.
10000
Slaves

lista com os thread pools escravos deste threadpool. Estes podem ser usados para repassar a requisição.




UserExitsindica a sessão com as informações das user exits


Bloco de código
titleExemplo
[THREAD_POOL_01]
Environment=VDRHTTP
MinThreads=2
MaxThreads=4
MinFreeThreads=2
GrowthFactor=1
InactiveTimeout=30000
AcceptTimeout=10000
Slaves=THREAD_POOL_01_01,THREAD_POOL_01_02
UserExits=UE_01

[THREAD_POOL_01_01]
Environment=EMP01
MinThreads=5
MaxThreads=10
MinFreeThreads=4
GrowthFactor=2
InactiveTimeout=30000
AcceptTimeout=10000
UserExits=UE_01

[THREAD_POOL_01_02]
Environment=EMP02
MinThreads=2
MaxThreads=4
MinFreeThreads=2
GrowthFactor=1
InactiveTimeout=30000
AcceptTimeout=10000
UserExits=UE_01

[THREAD_POOL_02]
Environment=VDRHTTP
MinThreads=1
MaxThreads=2
MinFreeThreads=1
GrowthFactor=1
InactiveTimeout=30000
AcceptTimeout=10000
UserExits=UE_02

A chave CORS da seção locations pode ter as seguintes configurações. Cada seção de CORS criada no arquivo de configuração deve ser informada na chave CORS da seção de Locations que receberá a requisição HTTP.

ChaveDescriçãoValoresPadrãoObrigatório
AllowOrigins* para qualquer origem ou uma lista com os domínios permitidosXAllowMethodslista de métodos HTTP permitidos

X

Bloco de código
titleExemplo
[CORS_UPD]
AllowOrigins=https://www.dominio.com.br, https://10.172.0.84:1081, http://localhost:1080
AllowMethods=POST, GET, OPTIONS, HEAD

[CORS_GET]
AllowOrigins=*
AllowMethods=GET,OPTIONS