Решение Nginx для Amazon AWS Проверки состояния ELB - возвращается 200 без ЕСЛИ

Да определенно Вы можете.

Первый год свободен под свободным пользовательским уровнем для новых зарегистрированных пользователей. Объем передачи составляет 10 ГБ в и 10 ГБ. Я использую его.

http://aws.amazon.com/free/

22
задан 25 June 2013 в 03:28
3 ответа

Не усложняйте вещи слишком сильно. Просто направьте свои проверки работоспособности ELB на специальный URL-адрес, специально предназначенный для них.

server {
  location /elb-status {
    access_log off;
    return 200;
  }
}
62
ответ дан 28 November 2019 в 20:21

Просто чтобы улучшить приведенный выше ответ, который является правильным. Следующее отлично работает:

location /elb-status {
    access_log off;
    return 200 'A-OK!';
    # because default content-type is application/octet-stream,
    # browser will offer to "save the file"...
    # the next line allows you to see it in the browser so you can test 
    add_header Content-Type text/plain;
}
27
ответ дан 28 November 2019 в 20:21

Обновление: если необходима проверка пользовательского агента,

set $block 1;

# Allow only the *.example.com hosts. 
if ($host ~* '^[a-z0-9]*\.example\.com$') {
   set $block 0;
}

# Allow all the ELB health check agents.
if ($http_user_agent ~* '^ELB-HealthChecker\/.*$') { 
  set $block 0;
}

if ($block = 1) { # block invalid requests
  return 444;
}

# Health check url
location /health {
  return 200 'OK';
  add_header Content-Type text/plain;
}
5
ответ дан 28 November 2019 в 20:21

Теги

Похожие вопросы