5

जब मैं अपने लचीला बीनस्टॉक अनुप्रयोग के साथ एक एडब्ल्यूएस प्रमाण पत्र सहयोगी और https का उपयोग कर डोमेन पर जाएं, मैं हो 'यह साइट, नहीं पहुँचा जा सकता mydomain.com कनेक्ट करने के लिए मना कर दिया। ' मैं http का उपयोग कर साइट पर जा सकता हूं।एडब्ल्यूएस SSL प्रमाणपत्र: HTTPS साइट नहीं पहुंचा जा सकता

मैं एडब्ल्यूएस के एसीएम के साथ एक सुरक्षा प्रमाणपत्र बनाया। मैंने अपने डोमेन नाम, example.com को अतिरिक्त नामों के साथ जोड़ा जो प्रमाण पत्र में उप डोमेन थे। मेरे ऐप की पर्यावरण 'लोड हो रहा है संतुलन' अनुभाग में मैं इस सेट अप:

enter image description here

मैं सेटअप SecurityGroup इस प्रकार मेरी पर्यावरण के लिए awseb-e-abc123-stack-* नामित: enter image description here

एक और सुरक्षा समूह awseb-e-abc123-stack-AWSEBLoadBalancerSecurityGroup-* नामित है, जो इस प्रकार है। यह ऊपर समूह है, जो मेरी पर्यावरण नाम के समान है के रूप में एक ही नाम टैग है:

enter image description here

ऐसा लगता है, हालांकि, कि "AWSEBLoadBalancerSecurityGroup" सुरक्षा समूह के प्रविष्टियों, कुछ नहीं करता है सभी को हटाने के रूप में प्रविष्टियां अभी भी HTTP यातायात को काम करने की अनुमति देती हैं।

.elasticbeanstalk\securelistener.config में, मैं निम्नलिखित है

option_settings: 
    aws:elb:listener:443: 
    SSLCertificateId: <my certificate's ARN> 
    ListenerProtocol: HTTPS 
    InstancePort: 80 

ऐसा लगता है, हालांकि, अगर मैं इस फ़ाइल में एक सिंटैक्स त्रुटि जोड़ने के लिए, तैनाती अभी भी सफल होता है।

यहाँ curl -vL https://<my domain> के उत्पादन में है:

* Rebuilt URL to: https://<my domain>/ 
* Trying <my elastic IP>... 
* connect to <my elastic IP> port 443 failed: Connection refused 
* Failed to connect to <my domain> port 443: Connection refused 
* Closing connection 0 
curl: (7) Failed to connect to <my domain> port 443: Connection refused 

मैं सेटअप अपने डोमेन नाम के लिए एक अलग डोमेन नाम रजिस्टर इस्तेमाल किया, और अपने डोमेन की DNS A रिकॉर्ड आईपी मेरी लचीला आईपी पते के बराबर की स्थापना की।

[संपादित करें]

मुझे लगता है कि ऊपर उल्लेख किया था लोड संतुलन सुरक्षा समूह के सभी नियमों को कुछ नहीं करता है। ऐसा इसलिए हुआ क्योंकि मेरी EC2 उदाहरणों की सुरक्षा समूह उदाहरण के सुरक्षा समूह, नहीं लोड संतुलन की सुरक्षा समूह की ओर इशारा करते था। जब मैं लोड संतुलन की सुरक्षा समूह के लिए EC2 के सुरक्षा समूह इशारा किया, सुरक्षा समूह के नियमों execercized कर रहे हैं। मैं लोड संतुलन सुरक्षा समूह से सभी नियमों को हटाने, और देखना है कि कोई अनुरोध स्वीकार कर रहे हैं द्वारा इस सत्यापित। हालांकि, अगर मैं लोड संतुलन सुरक्षा समूह के लिए HTTP और HTTPS नियम वापस जोड़ने लेकिन उदाहरण के सुरक्षा समूह से सभी नियमों को निकालें, सभी HTTP अनुरोध के माध्यम से जा रहे हैं। यह व्यवहार की उम्मीद नहीं है क्योंकि लोड बैलेंसर को उदाहरण के लिए यातायात को आगे बढ़ाने के लिए माना जाता है। ऐसा प्रतीत होता है कि (1) उदाहरण और लोड बैलेंसर सुरक्षा समूह उदाहरण और लोड बैलेंसर से संबंधित नहीं हैं और (2) लोड बैलेंसर में कोई ट्रैफिक नहीं जा रहा है।

क्या कोई और चीज है जो मुझे याद आ रही है?

[संपादित करें 2]

मैं gkrizek की टिप्पणी पढ़ने में भूलना। अगर मैं लोड बैलेंसर के सार्वजनिक DNS का उपयोग करता हूं, तो मैं या तो HTTP या HTTPS का उपयोग कर कनेक्ट कर सकता हूं। मैं टेलनेट का उपयोग कर दोनों संस्करणों से कनेक्ट करने में सक्षम हूं। तो एक ए रिकॉर्ड बनाने के बजाय testdomain.com को मेरे लोचदार आईपी पर सेट करने के बजाय, मैंने एक sub.testdomain.com सीएनएन रिकॉर्ड लोड बैलेंसर पर सेट किया।अब मैं http://sub.testdomain.com और https://sub.testdoamin.com दोनों ब्राउज़ करने में सक्षम हूं। दो प्रश्न:

  • क्या सीएनएन रिकॉर्ड में लोड बैलेंसर के सार्वजनिक DNS का उपयोग करना ठीक है? मैं * .elasticbeanstalk.com यूआरएल का उपयोग नहीं कर सकता क्योंकि यह बदल सकता है, इसलिए मुझे आश्चर्य है कि क्या एक ही स्थिति यहां लागू होती है
  • मैं https://testdomain.com (कोई उप डोमेन) कैसे सुरक्षित कर सकता हूं। ऐसा लगता है कि इस विधि के साथ, https://testdomain.com होना असंभव है क्योंकि मैं डोमेन नाम के साथ एक रिकॉर्ड नहीं बना सकता।
+0

आप पर https समाप्त करने के लिए एक लचीला आईपी आवंटित करने के लिए अनुमति देता है लोड बैलेंसर, और http के साथ अनुरोध जारी रखें? क्या होता है जब आप कर्ल अनुरोध करते हैं जैसे 'curl -vL --insecure $ url'? –

+0

डिफ़ॉल्ट रूप से लोड बैलेंसर पर HTTPS को डिफ़ॉल्ट रूप से एडब्ल्यूएस को समाप्त नहीं करता है? मैं यह कैसे निर्धारित कर सकता हूं कि यह मामला है या नहीं? – user2233706

+0

मुझे यकीन नहीं है कि कोई डिफ़ॉल्ट है (यदि संभवतः इसे समाप्त करना होगा)। आप यह सुनिश्चित करके जांच सकते हैं कि उदाहरणों पर जा रहे ट्रैफिक को अनएन्क्रिप्टेड किया गया है (यह उदाहरण यह समझ सकता है कि यह क्या प्राप्त कर रहा है), या यह जांचकर कि लोड बैलेंसर उदाहरणों को "http" के बजाय "http" के रूप में जानकारी भेज रहा है, । –

उत्तर

4

समस्या यह है कि आपको अपने डोमेन के साथ एक सीएनएन रिकॉर्ड बनाना है और लोड बैलेंसर DNS नाम पते के रूप में उपयोग करना है। यदि आप लोचदार आईपी का उपयोग करते हैं, तो अनुरोध लोड बैलेंसर पर नहीं जाएंगे।

मेरा आखिरी सवालों के जवाब देने के लिए:

  • AWS says यह ठीक
  • है यह संभव नहीं है जब तक एडब्ल्यूएस आप एक लोड संतुलन
संबंधित मुद्दे