2014-07-21 13 views
10

के लिए HTTPS पुन: निर्देशित मैं के बारे में S3/CloudFront का उपयोग कर एक स्थिर वेबसाइट लांच करने के लिए कर रहा हूँ। मुझे साइट के लिए HTTPS की आवश्यकता नहीं है, लेकिन वेबसाइट का वर्तमान पुनरावृत्ति HTTPS पर परोसा जाता है और इसमें सैकड़ों लिंक और अनुक्रमित यूआरएल हैं जो HTTPS हैं।अमेज़न S3 स्थिर वेबसाइट - HTTP

मैं घंटे के लिए खोज कर रहे हैं और जब केवल S3/CloudFront का उपयोग कर HTTP के लिए हमारी HTTPS रीडायरेक्ट URL के लिए एक रास्ता नहीं मिल रहा। वर्तमान में HTTPS URL पृष्ठ के HTTP संस्करण पर रीडायरेक्ट करने के बजाय कनेक्शन को अस्वीकार कर देगा।

कोई अपाचे के साथ यह यह यह करने के लिए संभव नहीं है लगता है। कोई संकेत?

उत्तर

19

S3 पर स्टेटिक वेबसाइट होस्टिंग HTTPS का समर्थन नहीं करता जब तक कि आप पूर्ण डोमेन पथ, अर्थात example.com.s3-website-us-east-1.amazonaws.com का उपयोग करें। चूंकि आप अपना यूआरएल रखना चाहते हैं, इसलिए आपको एसएसएल को संभालने के लिए क्लाउडफ्रंट वितरण का उपयोग करना होगा।

  1. CloudFront के लिए मेल नहीं खाता अपलोड करें: aws iam upload-server-certificate --server-certificate-name CertificateName --certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/path/ [1]
  2. एक CloudFront वितरण बनाएँ और के रूप में तो कॉन्फ़िगर करें:

    • उत्पत्ति डोमेन नाम: अपने S3 बाल्टी
    • वैकल्पिक डोमेन नाम (सीएनएन): आपकी वेबसाइट के लिए वांछित स्थान, उदाहरण के लिए example.com या www.example.com
    • SSL प्रमाणपत्र: जब तक आप वास्तव में पुराने ग्राहकों के लिए संगतता की जरूरत है, "का चयन केवल ग्राहक: SSL प्रमाणपत्र चरण में 1.
    • कस्टम SSL क्लाइंट समर्थन अपलोड का चयन करें जो सर्वर नाम संकेत का समर्थन करता है "और $ 600 बचाता है।

    आप https रीडायरेक्ट कर रहे हैं अनुप्रेषित S3 के लिए, मूल डोमेन स्वत: पूर्ण बाल्टी नहीं होना चाहिए, लेकिन स्थिर रीडायरेक्ट endpoint S3 आप

  3. देता है अपनी वितरण की बचत करें। इसे "प्रगति में" स्थिति दिखाना चाहिए। वितरण को "तैनात" करने में आमतौर पर ~ 15 मिनट लगते हैं; जब तक आपका वितरण "तैनात नहीं किया जाता" तब तक चरण 4 पर न जाएं।

  4. वितरण का सत्यापन करें काम करता है: सूची, उदा में डोमेन नाम के माध्यम से CloudFront वितरण करने के लिए नेविगेट "Https // d111111abcdef8.cloudfront.net /"। आपको अपनी वेबसाइट देखना चाहिए।
  5. S3 बाल्टी के बजाय CloudFront वितरण भेजने के लिए अपना DNS रिकॉर्ड बदलें।

[1] यदि आपको कोई समस्या अधिक जानकारी के लिए यह लेख देखें CloudFront करने के लिए अपने प्रमाणपत्र जोड़ने है: एक HTTPS सर्वर के बाद से http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#cnames-and-https-procedure

+1

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

+10

अरे दोस्तों, मुझे एक ऐसी ही समस्या थी जहां मैं एएलआईएएस का उपयोग एस 3 रीडायरेक्ट के लिए एक रिकॉर्ड का उपयोग कर शीर्ष पर http को https पर रीडायरेक्ट करना चाहता था, लेकिन उपयोगकर्ता को मैन्युअल रूप से शीर्ष https टाइप करने का प्रयास करने में समस्याएं आ रही थीं। इसलिए मैंने सीएफ पर अपना एसएसएल स्थापित करने के लिए इन चरणों का पालन किया लेकिन इस समाधान की कोशिश करते समय "पहुंच से वंचित" हो रहा था।अंततः चरण # 2 को संशोधित करके इसे समझ लिया। मूल डोमेन स्वत: पूर्ण बाल्टी नहीं होना चाहिए, लेकिन स्थैतिक रीडायरेक्ट एंडपॉइंट एस 3 आपको देता है। –

+1

यह सेटअप सत्यापित कर सकता है कि यह सेटअप काम करता है और आपको S3 स्टेटिक वेबसाइट होस्टिंग + सभी अनुरोधों को पुनर्निर्देशित करते हुए http: // और https: // दोनों के लिए रीडायरेक्ट करने के लिए एक शीर्ष डोमेन कॉन्फ़िगर करने की अनुमति देता है। काम करने के लिए सेटअप करने के लिए मुझे 2 बदलावों की आवश्यकता थी ए) @RyanRomanchuk ** स्टेटिक वेबसाइट एंडपॉइंट यूआरएल ** 'example.com.s3-website-us-east-1 का उपयोग करने के लिए कॉल करें। उत्पत्ति के लिए amazonaws.com' (lifesaver, ty) और बी) 'मूल प्रोटोकॉल नीति' को 'केवल HTTP' सेट करना। इसके अलावा, सेटअप के दौरान, तैनात करने के लिए सेटिंग अपडेट की प्रतीक्षा करना याद रखें और अवांछित प्रतिक्रियाओं को कैश किए जाने पर कैश अमान्यता का उपयोग करें। –

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