Я настраиваю резервный сервер, которому поручено принимать любой входящий запрос и отвечать пустым ответом 200. Идея состоит в том, чтобы свести к минимуму время ответа и гарантировать, что мы не отправим никаких 40x или 50x.
Я пробовал использовать return 200;
для желаемых местоположений в Nginx, но моей системе мониторинга (Pingdom) не понравился ответ, и я считаю, что сервер не отвечает.
Есть ли лучший способ сделать это, конечно, с минимальными накладными расходами на сервере?
Вы можете заставить nginx вернуть пустой HTTP 200 с помощью блока конфигурации, например:
location = /health {
return 200;
#access_log off;
}
Вы можете раскомментировать access_log
строку, если вы не хотите, чтобы все эти проверки работоспособности регистрировались.
Код состояния HTTP 204 No Content
означает, что "я выполнил запрос, но нет тела для возврата":
10.2.5 204 Нет содержимого
Сервер выполнил запрос, но не должен возвращать тело объекта и может захотеть вернуть обновленную метаинформацию. Ответ МОЖЕТ включать новую или обновленную метаинформацию в форме заголовков объектов, которые, если они присутствуют, ДОЛЖНЫ быть связаны с запрошенным вариантом.
Если клиент является пользовательским агентом, ему НЕ СЛЕДУЕТ изменять вид документа с того, который вызвал отправку запроса. Этот ответ в первую очередь предназначен для того, чтобы разрешить ввод действий, которые могут иметь место, не вызывая изменения в активном представлении документа пользовательского агента, хотя любая новая или обновленная метаинформация ДОЛЖНА применяться к документу, который в настоящее время находится в активном представлении пользовательского агента.
Ответ 204 НЕ ДОЛЖЕН включать тело сообщения и, таким образом, всегда заканчивается первой пустой строкой после полей заголовка.