Nginx
AWS Amazon ELB 健康檢查的 Nginx 解決方案 - 返回 200 沒有 IF
我有以下程式碼在 Nginx 上執行,以使 AWS ELB 執行狀況檢查滿意。
map $http_user_agent $ignore { default 0; "ELB-HealthChecker/1.0" 1; } server { location / { if ($ignore) { access_log off; return 200; } } }
我知道 Nginx 最好避免使用“IF”,我想問是否有人會知道如何在沒有“if”的情況下重新編碼?
謝謝你
不要把事情複雜化。只需將您的 ELB 健康檢查指向一個專門為他們準備的特殊 URL。
server { location /elb-status { access_log off; return 200; } }
只是為了改進上述答案,這是正確的。以下效果很好:
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; }