nginx: ativando a compactação gzip com base no nome do host

4

Eu tenho uma única máquina rodando nginx servindo tráfego HTTP para múltiplos domínios (usando a mesma base de código Lua). Para alguns dos domínios, gostaria de ativar a compactação gzip. É possível ativar a compactação gzip para um conjunto específico de domínios? Como?

    
por dharm0us 04.05.2016 / 11:03

2 respostas

4

Com certeza, se você der uma olhada na documentação , poderá ver que é aceitável coloque gzip em qualquer um dos seguintes níveis http, server, location, if in location e como o domínio está definido no nível server usando server_name , podemos colocar o gzip ao lado dele.

Primeiro, verifique seu arquivo nginx.conf para gzip on; , se estiver presente, remova-o.

Você então precisa criar um arquivo conf e definir onde deseja usar o gzip.

server {
  server_name www.myexample.com;
  listen 80;
  gzip off;
}

server {
  server_name www.myotherexample.com;
  listen 80;
  gzip on;
}
    
por 04.05.2016 / 11:16
4

Sim, é. Você deve ter um bloco de servidor para cada nome de host, basta usar

gzip on;

ou

gzip off;

Dentro de cada bloco de servidor. A documentação pode ser encontrada aqui . O único obstáculo é se você usou algum tipo de curinga ou se não tem um bloqueio de servidor por domínio.

por exemplo

server {
  server_name www.example.com;
  listen 80;
  root /what/ever;
  gzip on;
}

server {
  server_name www.example2.com;
  listen 80;
  root /what/ever2;
  gzip off;
}

Se isso não fizer sentido, poste seu arquivo de configuração nginx e seu (s) arquivo (s) de site e poderemos dar uma olhada.

    
por 04.05.2016 / 11:12

Tags