Nginx: significância da sintaxe de colchetes?

1

Usando o Nginx no FreeBSD, imaginando qual é a diferença entre

events {
    worker_connections 200;
}

e apenas worker_connections 200; por si só?

Ou

server {
    listen 80;
    location / {
        return 301 https://$host$request_uri;
    }
}

vs

server {
    listen       80;
    return 301 https://$host$request_uri;
    location /two {
        return 301 https://something else?;
    }
}

Eu vi os dois usados em vários exemplos. Eles são intercambiáveis e diferem apenas em escopo?
Eu poderia omitir o bloco http parent e ter apenas os blocos server , por exemplo?

Obrigado!

Ah, e o arquivo específico que estou editando é /usr/local/etc/nginx/nginx.conf

    
por House3272 25.09.2016 / 22:54

1 resposta

1

A sintaxe é mais útil se você colocar vários locais em uma configuração, o que seria típico. A sintaxe dois é apenas para quando você tem um servidor simples retornando um redirecionamento ou similar. Ambos os seus exemplos farão o mesmo.

Atualizar Sua segunda configuração atualizada provavelmente nunca executará o bloco "local dois" devido ao retorno em um nível superior. Você precisa de citações em torno da URL também. Você provavelmente iria querer algo mais parecido com isso

server {
  server_name example.com;
  listen       80;
  location / {
    return 301 https://$host$request_uri;
  }
  location /two {
    return 301 https://something else?;
  }
}
    
por 25.09.2016 / 22:59