Um dos primeiros passos quando o nginx recebe uma solicitação é avaliar o campo HTTP Host
header / TLS SNI e selecionar o host virtual com base no resultado dessa avaliação.
Isso significa que o cabeçalho Host
é sempre processado.
Agora, se você especificar uma instrução if
para o redirecionamento, isso significa que o cabeçalho Host
será verificado duas vezes, primeiro para selecionar o host virtual e, em seguida, para verificar a condição if
. Isso é o dobro do trabalho do processador.
Um contra-argumento pode ser o consumo de memória para um bloco de servidores separado. No entanto, a alocação de memória é a mesma para o tempo de vida do processo nginx, enquanto a avaliação dupla do cabeçalho Host
acontece em todas as solicitações.