प्रति ऐप एक एलबी का उपयोग करना यहां जाने का तरीका है।
सबसे पहले, आपको वैसे भी उनकी आवश्यकता हो सकती है यदि प्रत्येक एप्लिकेशन स्वयं के डोमेन पर है और आपको SSL का समर्थन करने की आवश्यकता है। अमेज़ॅन ELBs वर्तमान में केवल प्रत्येक SSL के लिए एक SSL प्रमाणपत्र की अनुमति देता है, प्रत्येक SSL-सक्षम डोमेन के लिए अलग ELBs की आवश्यकता होती है। (वाइल्डकार्ड SSL प्रमाणपत्र अपवाद हैं)।
यहां चुनौती यह है कि वर्तमान में ईसीबी उदाहरण पर होस्ट किए गए एक विशेष वर्चुअल डोमेन के लिए ईएलबी स्वास्थ्य जांच को निर्देशित नहीं किया जा सकता है। (कोई "होस्ट:" हेडर नहीं भेजा गया है)। ELB स्वास्थ्य पिंग हमेशा डिफ़ॉल्ट डोमेन पर जाते हैं, जैसे कि आपने अपने ब्राउज़र में EC2 उदाहरण के लिए IP पता लोड किया था। तो कुछ गोंद की आवश्यकता होती है कि वे डिफ़ॉल्ट डोमेन पर स्वास्थ्य जांच करें और फिर किसी विशेष एप्लिकेशन की स्वास्थ्य स्थिति के साथ उत्तर दें।
यहां एक काम करने वाला उदाहरण कॉन्फ़िगरेशन है जिसे एक नगीनेक्स server
निर्देश में जोड़ा जा सकता है । यह EC2 उदाहरणों में से प्रत्येक पर लोड संतुलित होने के लिए स्थापित किया जाएगा।
# This goes in the `server` block noted by 'default_server', often /etc/nginx/sites-enabled/default
# All AWS Health Checks from the ELBs arrive at the default server.
# Forward these requests on the appropriate configuration on this host.
location /health-check/ {
rewrite ^/health-check/(?<domain>[a-zA-Z0-9\.]+) /api/v1/status break;
# Lie about incoming protocol, to avoid the backend issuing a 301 redirect from insecure->secure,
# which would not be considered successful.
proxy_set_header X-Forwarded-Proto 'https';
proxy_set_header "Host" $domain;
proxy_pass http://127.0.0.1;
}
"First-application.com" के लिए ELB की "स्वास्थ्य जांच" सेटिंग में, आप "HTTP" और पोर्ट 80 का चयन करेंगे और इस तरह से एक पथ दर्ज करेंगे:
/health-check/first-application.com
होस्ट पर उपर्युक्त Nginx कॉन्फ़िगरेशन के साथ, डिफ़ॉल्ट डोमेन पर अनुरोध प्राप्त होगा और https://first-application.com/api/v1/status के लिए उसी होस्ट पर Nginx कॉन्फ़िगरेशन से प्रतिक्रिया को प्रॉक्सी करेगा
इस दृष्टिकोण के साथ Nginx में प्रति-एप्लिकेशन कॉन्फ़िगरेशन नहीं है। जब तक प्रत्येक ऐप में एक अद्वितीय डोमेन नाम होता है, आपको बस यह सुनिश्चित करने की आवश्यकता होती है कि आप प्रत्येक ऐप के लिए उचित रूप से एक ELB सेट करें।