मैं वर्तमान में 1.5dev-17 का उपयोग करके HAProxy को पुनः कॉन्फ़िगर कर रहा हूं। जब मैं एक विशेष अनुरोध के लिए उपयोग करने के लिए कोई बैकएंड नहीं है, तो मैं एक 404 त्रुटि वापस करना चाहता हूं।
हमारा वर्तमान कॉन्फ़िगरेशन हमारे django ऐप सर्वरों को रूट करने के लिए default_backend का उपयोग करता है, लेकिन जब बहुत सारे प्रोबिंग अनुरोध (जैसे कि पेन-टेस्ट) होते हैं, जो अन्य कॉन्फ़िगर किए गए बैकएंड में से किसी से भी मेल नहीं खाते, तो हमारे django सर्वर एक पड़ाव में पीसते हैं जैसे वे कोशिश करते हैं इन अमान्य अनुरोधों को पूरा करने के लिए, अंत में 404 वापस करना होगा।
मैं django बैकेंड्स को सौंपने के बजाय HAProxy से 404 की सेवा करना चाहता हूं। मैं वर्तमान में इसे हैक के साथ प्राप्त कर रहा हूं:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
और 404.http फ़ाइल के भीतर मैंने हेडर में 404 स्टेटस कोड सेट किया है। यह काम करता है, लेकिन बहुत गलत लगता है। क्या HAProxy के साथ इसे प्राप्त करने का एक बेहतर तरीका है? या मुझे एक नियमित बैकएंड का उपयोग करना चाहिए और बस 404 के साथ जवाब देने की अनुमति दें?
HTTP/1.0 404 Not Found
कुछ अन्य हेडर के बाद, फिर एक रिक्त रेखा, फिर <html>
सामग्री।