Quando você tem que usar aspas na configuração?

23

Eu já vi pessoas usarem citações excessivas :

add_header 'Access-Control-Allow-Origin' '*';

Eu já vi pessoas não usarem citações :

add_header Access-Control-Allow-Origin *;

Ambos funcionam bem até onde eu sei, então quando você realmente tem para usar aspas?

    
por Der Hochstapler 03.08.2016 / 10:37

2 respostas

29

A resposta exata é "nunca". Você pode citar ou \ -escape alguns caracteres especiais como "" ou ";" em strings (caracteres que tornariam o significado de uma declaração ambíguo), então

add_header X-MyHeader "Test String;"; 

funcionaria como

add_header X-MyHeader Test\ String\;;

Na realidade: use apenas citações :)

Edit: Como algumas pessoas adoram deduzir: A lista não necessariamente completa de caracteres que podem tornar uma declaração ambígua está de acordo com o meu entendimento da sintaxe nginx config:

<space> " ' { } ; $ \ 

e pode ser necessário escapar de $ e \ mesmo em strings entre aspas para evitar expansão variável.

Infelizmente, não consigo encontrar uma lista completa e autoritativa desses caracteres nos documentos.

    
por 03.08.2016 / 10:50
5

As cotações são necessárias para os valores que contêm espaço (s) e / ou alguns outros caracteres especiais; caso contrário, nginx não os reconhecerá. Em seu exemplo atual, as cotações não fazem diferença, mas, de qualquer forma, cotar valores é uma boa prática / regra geral

    
por 03.08.2016 / 10:45