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