Точна відповідь - "ніколи". Ви можете або процитувати, або \
-сказати деякі спеціальні символи, такі як "" або ";" у рядках (символи, які зробили б значення висловлення неоднозначним), так
add_header X-MyHeader "Test String;";
працював би як
add_header X-MyHeader Test\ String\;;
Насправді: просто використовуйте цитати :)
Редагувати: Оскільки деякі люди люблять nitpick: Не обов'язково повний список символів, які можуть зробити заяву неоднозначним, є моїм розумінням nginx
конфігураційного синтаксису:
<space> " ' { } ; $ \
і може знадобитися уникнути $
і \
навіть у цитованих рядках, щоб уникнути змінного розширення.
На жаль, я не можу знайти повний і авторитетний список таких символів у документах.