7

मैं 3 ईसी 2 सर्वर के साथ एडब्ल्यूएस लोड बैलेंसर का उपयोग कर रहा हूं, और साइट रखरखाव के दौरान रखरखाव पृष्ठ की सेवा करने की कोशिश कर रहा हूं।एडब्लूएस लोड बैलेंसर और रखरखाव पृष्ठ

इस पृष्ठ को 503 HTTP कोड वापस करने की आवश्यकता है, क्योंकि यह रखरखाव मोड के लिए एक उचित कोड है और एसईओ के साथ संभावित समस्याओं को रोक देगा।

जब मैं अपने किसी भी सर्वर से 503 कोड वापस करता हूं, लोड बैलेंसर इसे "सेवा में नहीं" बनाता है, और जब सभी सर्वर 503 लौटाते हैं, तो वेबसाइट एक खाली पृष्ठ लौटाती है (क्योंकि सभी सर्वर डिस्कनेक्ट होते हैं)।

मेरे प्रश्न हैं:

1) वहाँ लोड संतुलन से आगंतुकों के लिए एक संदेश है, तो है कि वहाँ कोई स्वस्थ सर्वर के साथ एक कस्टम स्थैतिक पृष्ठ की सेवा के लिए कोई तरीका है?

2) या लोड बैलेंसर के स्वास्थ्य जांच को कॉन्फ़िगर कैसे करें कि यह सर्वर को "अस्वास्थ्यकर" के रूप में चिह्नित करने के कारण के रूप में 503 पर विचार नहीं करेगा?

धन्यवाद!

+0

संभावित डुप्लिकेट [जब आप ईएलबी के पीछे होते हैं तो आप एडब्ल्यूएस के लिए रखरखाव पृष्ठ कैसे डालते हैं?] (http://stackoverflow.com/questions/ 13693947/कैसे-करें-आप-रख-रखाव-एक-रखरखाव-पृष्ठ-के लिए-aws-when-your-instances-are-behind-an-e) – BMW

+0

@BMW मुझे लगता है कि यह एक अच्छा जवाब है, लेकिन एक अलग प्रश्न (आप असफल व्हेल पेज कैसे प्रदान करते हैं)। यह 503 प्रतिक्रियाओं के लिए यहां आवश्यकता को पूरा नहीं कर रहा है और कथित तौर पर एसईओ मुद्दों का कारण बनता है। – jarmod

+0

मैं अन्य DNS सेवा का उपयोग नहीं कर सकता, मैं पहले से ही अपने सीडीएन से एक का उपयोग कर रहा हूं। –

उत्तर

9

आप अपने ऐप सर्वर में एक अतिरिक्त मार्ग लागू कर सकते हैं, मान लें कि/एचसीएम (स्वास्थ्य जांच रखरखाव के लिए), जो हमेशा 200 ओके का जवाब देता है। जब रखरखाव के लिए समय होता है, तो आप प्रोग्रामिंग रूप से/एचसीएम लक्ष्य का उपयोग करने के लिए ईएलबी स्वास्थ्य जांच को संशोधित करते हैं जो/या /index.html के बजाय 200 ओके देता है, जो दोनों 503 सेवा अनुपलब्ध होते हैं। रखरखाव से बाहर निकलने पर इन परिवर्तनों को वापस लाएं।

+0

एक और विकल्प है कि हेल्थचेक HTTP के बजाय टीसीपी का उपयोग करें। यह विशेष मार्गों को अनुकूलित करने से आसान है और इसका मतलब है कि लोड बैलेंसर उदाहरण के रूप में तब तक उपलब्ध होगा जब तक यह सही बंदरगाह से कनेक्ट हो सके। सभी परिस्थितियों में काम नहीं कर सकता है लेकिन केवल दो निश्चित सर्वरों के साथ मेरे लिए सही है। – Chris

+0

मैं स्वास्थ्य जांच के लिए टीसीपी का उपयोग करने में सक्षम नहीं हूं, केवल HTTP और HTTPS मेरे लिए उपलब्ध हैं। –

0

लोड बैलेंसर आपके लिए 503 सर्वर करेगा जब आपके पास अब इसके पीछे कोई स्वस्थ सर्वर नहीं है, इसलिए आपको कुछ विशेष नहीं करना चाहिए।

यदि आप स्वास्थ्य जांच पर 200 से कुछ भी वापस लौटाते हैं, तो ईएलबी लोड बैलेंसर से बाहर मशीन ले जाएगा जब यह स्वास्थ्य जांच की कॉन्फ़िगर की गई संख्या में विफल रहता है।

ताकि रिकैप करने के लिए, आप रखरखाव में अपने ऐप से संभावित रूप से 503 की सेवा कर सकते हैं, लेकिन आपको हर समय स्वास्थ्य जांच के लिए 200 लौटना होगा। यदि आपको पृष्ठ की सामग्री की परवाह नहीं है, तो आप लोड बैलेंसर (या स्वास्थ्य जांच में असफल) से मशीनों को हटा सकते हैं और एलबी आपके लिए सही काम करेगा

+0

एलबी 503 कोड के साथ एक खाली पृष्ठ देता है, लेकिन मुझे रखरखाव मोड के दौरान आगंतुकों को एक कस्टम संदेश दिखाना होगा। मैं इसे वापस करने के लिए एलबी कैसे कॉन्फ़िगर कर सकता हूं? –

+2

आप कस्टम 503 दिखाने के लिए ईएलबी को कॉन्फ़िगर नहीं कर सकते हैं। – Mircea

3

आपकी 503 आवश्यकता को पूरा नहीं कर सकता है लेकिन इसके लिए एक अच्छा विकल्प एस 3 और डीएनएस फेलओवर का उपयोग कर रहा है: https://aws.amazon.com/blogs/aws/create-a-backup-website-using-route-53-dns-failover-and-s3-website-hosting/

+0

मैं रूट 53 का उपयोग नहीं कर सकता, मुझे एक अलग DNS सेवा का उपयोग करना होगा –

संबंधित मुद्दे