सवाल प्रॉक्सी गंतव्य अनुपलब्ध होने पर Nginx स्थानीय फ़ॉलबैक त्रुटि पृष्ठ


मैं एक Nginx सर्वर के माध्यम से एक स्थानीय सेवा के लिए अनुरोध अग्रेषित कर रहा हूँ। सेवा को अनुपलब्ध होने पर मैं अब क्या करने की कोशिश करता हूं, स्थानीय त्रुटि पृष्ठ पर फ़ॉलबैक करना है।

मेरा वर्तमान विन्यास है

server {
    listen       80;
    server_name  "";

    location / {
        proxy_pass  http://127.0.0.1:9080;
        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_connect_timeout 1;
        proxy_next_upstream error timeout http_500 http_502 http_503 http_504 http_404;
        proxy_intercept_errors on;
    }

    error_page 501 502 503 @maintenance;
    location @maintenance {
            root   /locust/www/fallback/htdocs;
            index  index.html index.htm;
    }
}

प्रॉक्सीइंग काम करता है, लेकिन जैसे ही मैं 9080 पर अपनी सेवा अनुपलब्ध करता हूं, मेरे रखरखाव स्थान का index.html प्रदर्शित नहीं होता है।

इस कॉन्फ़िगरेशन में क्या गलत है इस पर कोई सुझाव?


8
2018-05-27 08:55


मूल




जवाब:


असल में, मुझे केवल आपकी कॉन्फ़िगरेशन को थोड़ा संशोधित करना पड़ा:

error_page 501 502 503 /500.html;
location = /500.html {
        root   /locust/www/fallback/htdocs;
}

और स्पष्ट रूप से नाम बदलें index.html आप पेश करना चाहते हैं 500.html


9
2017-12-06 17:28



इस दृष्टिकोण का उपयोग करते हुए, क्या होता है जब proxy_pass पर चल रहा अनुप्रयोग 501, 502, या 503 फेंकता है? कुछ एप्लिकेशन (जैसे Django) अपनी 50x त्रुटियों को संभालते हैं ताकि उनके पास कस्टम त्रुटि पृष्ठ हो सकें। क्या यहां दृष्टिकोण ने 50x त्रुटि पृष्ठों को Nginx 500.html पृष्ठ के साथ उत्पन्न किया है? - Joe J
मैंने इसका परीक्षण नहीं किया है, लेकिन मैं 99% निश्चित हूं, कि वास्तव में वे त्रुटियां /500.html प्रदर्शित करेंगी। विचार यह है कि, जब nginx को प्रॉक्सी सर्वर से 501 502 503 मिल रहा है, तो यह /500.html प्रदर्शित करेगा। प्रॉक्सी सर्वर डीजेंगो है। - nuts


त्रुटि पृष्ठ के लिए सटीक यूआरएल निर्दिष्ट करने का प्रयास करें:

    proxy_intercept_errors on;
    error_page  500 502 503 504 402 403 401  /500.html;
    root   /locust/www/fallback/htdocs;

1
2018-05-27 11:54



नहीं। :( मैंने दोनों स्थानों में आपके कॉन्फ़िगरेशन परिवर्तनों की कोशिश की लेकिन कोई सफलता नहीं मिली। - stpn108