Відповіді:
Ви можете надсилати значення змінних nginx через заголовки. Корисно для розвитку.
add_header X-uri "$uri";
і ви побачите у заголовках відповідей браузера:
X-uri:/index.php
Я інколи роблю це під час місцевого розвитку.
Це також зручно, щоб повідомити вам, чи виконується підрозділ чи ні. Просто посипте його всередині своїх пропозицій, щоб побачити, чи вони звикають.
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
add_header X-debug-message "A static file was served" always;
...
}
location ~ \.php$ {
add_header X-debug-message "A php file was used" always;
...
}
Тому відвідування URL-адреси на зразок http://www.example.com/index.php призведе до запуску останнього заголовка під час відвідування http://www.example.com/img/my-ducky.png запустить попередній заголовок.
add_header
якого буде повертатися заголовок, незалежно від коду відповіді. Так, наприклад, add_header X-debug-message "A php file was used" always;
повинен працювати навіть 500 код помилки.
Ви можете повернути просту рядок як HTTP-відповідь:
location /
{
return 200 $document_root;
}
Ви можете встановити користувальницький формат журналу доступу за допомогою log_format
директиви, яка реєструє цікаві вам змінні.
error_log
до debug
так що ви можете побачити значення змінних , і що блок, які виконуються. Прикладerror_log file.log debug
-
у журналі, але вони дійсно порожні в коді nginx, ви не повинні перевіряти їх -
у будь-який час. Це іноді плутає користувачів.
Інший варіант - включити модуль ехо, коли ви збираєте nginx або встановлюєте OpenResty, який є nginx в комплекті з розширенням (наприклад, echo.)
Тоді ви можете просто посипати конфігурацію такими твердженнями, як:
echo "args: $args"
echo_log
директива в розвитку.
add_header
це працюватиме лише на успішних запитах . Документація стверджує, що його можна застосовувати лише до відповідей з кодами 200, 204, 301, 302 або 304. Тому його не можна використовувати для налагодження помилок HTTP.