0
所以即時通訊嘗試檢查我的http_response code從我的上游服務器,並通過默認響應代碼,當上遊是關閉;並且當上遊代理完成時,代理所有對它的請求。Nginx檢查上游服務器狀態與如果語句
我的nginx(不工作)的配置看起來像這樣
server {
listen 80;
server_name auth.example.com;
set $upstream 123.456.789.123:8080;
location @active{
proxy_pass_header Authorization;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 10M;
proxy_read_timeout 36000s;
proxy_redirect off;
proxy_pass http://$upstream;
}
location @outage {
return 200 "yass!";
}
location/{
error_page 500 = @outage;
set $200 @active;
if ($http_status != 404){
return 500;
}
if ($http_status = 200) {
return 200;
}
}
什麼,我想實現很簡單,如果我的上游服務器已關閉返回默認200響應。
如果我的上游服務器可用,請代理對它的所有請求。
我怎麼能用nginx實現這個(一個代碼示例很酷:-))。
如果您希望從代理中導出錯誤,您可能還需要'proxy_intercept_errors on;'。我懷疑你的情況,*上游是關閉*響應來自'nginx'。 –