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