답변:
지나치게 복잡하지 마십시오. ELB 건강 검진을 특별 URL로 지정하십시오.
server {
location /elb-status {
access_log off;
return 200;
}
}
"/usr/share/nginx/html/elb-status" failed (2: No such file or directory)
... 왜 이것이 될 수 있는지 전혀 모른다?
위의 답변을 개선하기 만하면됩니다. 다음은 훌륭하게 작동합니다.
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;
}
업데이트 : 사용자 에이전트 유효성 검사가 필요한 경우
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;
}