มีวิธีใช้ HTTPS กับ CDN และ CNAME ของ CloudFront ของ Amazon หรือไม่


16

เราใช้ CloudFront CDN ของ Amazon กับ CNAME ที่กำหนดเองที่อยู่ภายใต้โดเมนหลัก (static1.example.com) แม้ว่าเราจะสามารถทำลายรูปลักษณ์ที่เหมือนกันนี้และใช้ URL ใด ๆ 123wigglyw00.cloudfront.net ดั้งเดิมเพื่อใช้ HTTPS มีวิธีอื่นหรือไม่

Amazon หรือผู้ให้บริการรายอื่นที่คล้ายคลึงกันเสนอ HTTPS CDN hosting หรือไม่

TLS และการเข้ารหัสแบบเลือกมีให้ใช้งานที่ใดที่หนึ่ง (SNI: บ่งชี้ชื่อเซิร์ฟเวอร์) หรือไม่

ข้อควรทราบ: สมมติว่าคำตอบนั้นไม่ใช่ แต่หวังว่าจะมีใครรู้

แก้ไข : ตอนนี้ใช้ Google App Engine https://developers.google.com/appengine/docs/sslสำหรับการโฮสต์ CDN ด้วยการสนับสนุน SSL

คำตอบ:


18

CloudFront กับ CNAMEs และ HTTPS ไม่สนับสนุนให้ดูโน้ตตัวแรกในเอกสาร CloudFront CNAME

ฉันไม่คิดว่า CDN ที่มีต้นทุนต่ำมีการสนับสนุน CNAME และ HTTPS ด้วยกันเพื่อที่พวกเขาจะต้องมีวิธีให้คุณอัปโหลดใบรับรองที่ไม่ได้เข้ารหัสของคุณไปยังเครือข่าย CDN


2
หรือนายหน้าในลักษณะเดียวกับที่ Google เสนอการกำหนดค่า DNS ด้วย Google Apps และ eNom / GoDaddy มีความหวังในอนาคตด้วยen.wikipedia.org/wiki/Server_Name_Indicationฉันสงสัยว่าผู้ให้บริการรายใดเริ่มทำการทดสอบความสามารถนี้แล้วหรือยัง
Metalshark

1
หมายเหตุในปี 2559: คำตอบนี้ล้าสมัยโปรดดูคำตอบของ John Mark Mitchellด้านล่าง
Benjamin

16

โปรดทราบการแก้ไขและปรับปรุงด้านล่าง

ในขณะที่ฉันเขียนสิ่งนี้ (23 พฤษภาคม 2012) SSL ได้รับการสนับสนุนผ่าน URL การกระจาย CloudFront เท่านั้น หมายความว่าคุณไม่สามารถ CNAME SSL URL เป็นรูปธรรมคุณสามารถอ้างอิงรายการผ่าน SSL เป็น:

https://[distribution].cloudfront.net/picture.jpg

แต่ไม่:

https://cdn.mydomain.com/picture.jpg

โดยที่ cdn.mydomain.com คือ CNAME ถึง [distribution] .cloudfront.net ในปัจจุบันคุณจะได้รับข้อผิดพลาด SSL

หมายความว่าคุณไม่สามารถใช้ชื่อโดเมนหรือใบรับรอง SSL ของคุณ สิ่งนี้อาจทำให้เกิดปัญหากับนโยบายข้ามโดเมนในเบราว์เซอร์รวมทั้งเพิ่มความซับซ้อนในการเลิกทำการบำรุงรักษาเว็บไซต์

ฉันได้รับการรับรองจากเจ้าหน้าที่ AWS ว่า HTTPS รองรับการแจกจ่าย CNAME อยู่ในรายการคุณลักษณะ แต่ต้องการการสนับสนุนจากชุมชนเพื่อจัดลำดับความสำคัญ เพื่อช่วยในความพยายามนี้โปรดกรอกแบบสำรวจ CloudFront (ดูด้านล่าง) และบันทึกคำขอคุณลักษณะนี้ เจ้าหน้าที่ AWS ใช้ข้อมูลที่รวบรวมจากแบบสำรวจเพื่อการวางแผนและจัดลำดับความสำคัญของแผนงาน CloudFront

โปรดทราบว่าจำเป็นต้องมีการสนับสนุน HTTPS CNAME เมื่อคุณทำแบบสำรวจ CloudFront: http://aws.qualtrics.com/SE/?SID=SV_9yvAN5PK8abJIFK

แก้ไข: พบโพสต์เมื่อวันที่ 11 มิถุนายน 2012 ที่ AWS ได้อัปเดตลิงค์สำรวจ:

ลิงค์สำรวจใหม่: http://aws.qualtrics.com/SE/?SID=SV_e4eM1cRblPaccFS

ฉันคิดว่ามันคุ้มค่าที่จะให้ข้อเสนอแนะแก่พวกเขาเกี่ยวกับการทำให้ CNAME + SSL เป็นคุณสมบัติที่สนับสนุน

แก้ไข: ประกาศเมื่อวันที่ 11 มิถุนายน 2013, SSL Certs ที่กำหนดเองที่มี IP เฉพาะได้รับการสนับสนุนด้วย CloudFront บน AWS:

ดูการประกาศคุณสมบัติในบล็อก AWS: http://aws.typepad.com/aws/2013/06/custom-ssl-domain-names-root-domain-hosting-for-amazon-cloudfront.html

สิ่งหนึ่งที่ควรพิจารณาก่อนที่จะนับเส้นทางนี้คุณจะต้องเห็นคุณค่าที่สำคัญจากการเบี่ยงเบนจากเส้นทางhttps: // [การกระจาย] .cloudfront.netเนื่องจากการกำหนดราคาคือ $ 600 USD ต่อเดือนสำหรับการโฮสต์ใบรับรอง SSL ที่กำหนดเอง

แก้ไข: ประกาศเมื่อวันที่ 5 มีนาคม 2014 SSL Certs ที่กำหนดเองโดยใช้ชื่อเซิร์ฟเวอร์ (SNI)ได้รับการสนับสนุนด้วย CloudFront บน AWS - ไม่มีค่าใช้จ่ายเพิ่มเติม:

ตอนนี้ AWS รองรับ SSL SSL ที่กำหนดเองผ่าน SNI นี่เป็นเรื่องที่ใหญ่มากเนื่องจากจะเปิดโอกาสในการใช้ประโยชน์จากโครงสร้างพื้นฐานที่มีอยู่ (ที่อยู่ IP) ของ AWS ดังนั้น AWS จึงไม่คิดค่าใช้จ่ายเพิ่มเติมสำหรับบริการนี้! หากต้องการเรียนรู้เพิ่มเติมอ่านเกี่ยวกับเรื่องนี้ในโพสต์บล็อกของ AWS: http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html

รายการหนึ่งที่ควรสังเกตว่า Server Name Indication (SNI) มีข้อบกพร่องบางประการที่ควรพิจารณาก่อนที่จะใช้ทั้งหมด โดยเฉพาะเบราว์เซอร์รุ่นเก่าบางรุ่นไม่รองรับ หากต้องการทำความเข้าใจกับสิ่งนี้ดีกว่าโปรดดู: /programming/5154596/is-ssl-sni-actually-used-and-support-in-browsers

แก้ไข: AWS ประกาศเมื่อวันที่ 21 มกราคม 2016 พวกเขาจะมอบใบรับรอง SSL ที่กำหนดเองฟรี!

หากต้องการอ่านเกี่ยวกับประกาศฉบับเต็มในเว็บไซต์ AWS: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

Amazon ได้ประกาศบริการใหม่ที่เรียกว่า AWS Certificate Manager ซึ่งเสนอใบรับรอง SSL / TLS ฟรีสำหรับทรัพยากร AWS

ใบรับรองเหล่านี้มักจะซื้อจากผู้ให้บริการใบรับรองบุคคลที่สามเช่น Symantec, Comodo และ RapidSSL และสามารถเสียค่าใช้จ่ายได้ทุกที่ตั้งแต่ $ 50 ถึงหลายร้อยดอลลาร์ขึ้นอยู่กับระดับการตรวจสอบตัวตน

กระบวนการในการรับใบรับรองใหม่นั้นค่อนข้างยุ่งเหยิงอยู่เสมอซึ่งต้องมีการสร้างคำขอลงนามใบรับรองบนเซิร์ฟเวอร์ที่ได้รับการปกป้องส่งคำขอนั้นไปยังผู้ให้บริการใบรับรองแล้วติดตั้งใบรับรองเมื่อได้รับแล้ว เนื่องจาก Amazon จัดการกระบวนการทั้งหมดสิ่งเหล่านี้จะหมดไปและใบรับรองสามารถออกได้อย่างรวดเร็วและจัดเตรียมทรัพยากร AWS โดยอัตโนมัติ

ใบรับรองมีข้อ จำกัด เล็กน้อย Amazon ให้ใบรับรองการตรวจสอบความถูกต้องของโดเมนเท่านั้นซึ่งเป็นการตรวจสอบอย่างง่าย ๆ ที่การตรวจสอบความถูกต้องโดเมนจะเกิดขึ้นทางอีเมล หากคุณต้องการใบรับรองการตรวจสอบเพิ่มเติมคุณอาจติดกับผู้ให้บริการใบรับรองปัจจุบันของพวกเขา นอกจากนี้ใบรับรองไม่สามารถใช้สำหรับการเซ็นชื่อรหัสหรือการเข้ารหัสอีเมล


3
developers.google.com/appengine/docs/sslเอกสาร หลังจาก 2 ปีของการพยายามให้ AWS สนับสนุนฟีเจอร์นี้จะได้รับการโหวตเมื่อคู่แข่งได้เปิดตัวฟีเจอร์นั้นช้าเกินไป
Metalshark

cmon AWS ฉันเห็นด้วยกับ @Metalshark และทุกคนในกระทู้นี้ ฉันเพิ่งกรอกแบบฟอร์มคำติชมที่ยาวเหยียดของ AWS Cloudfront เพื่อสนับสนุน CNAME-HTTPS แต่ถ้า Google App Engine เสนอและคำถามนี้มีอายุ 2 ปีคุณต้องทำอะไรโดยเร็ว !!!
ทิมปีเตอร์สัน

ฉันไม่เห็นสิ่งใดในหน้า Google App Engine เกี่ยวกับ CDN AWS ให้การสนับสนุน SSL ฟรีทุกอย่างแล้ว แต่การสนับสนุน CDN นั้นยากกว่า อย่าอ้างฉัน แต่ฉันสงสัยว่าเป็นเพราะมีหลายที่อยู่ IP ที่เกี่ยวข้อง
Rupert Rawnsley

ขอบคุณที่คอยปรับปรุงคำตอบนี้ John ฉันเพิ่งลบความคิดเห็นที่ล้าสมัยซึ่งรวมไว้ในคำตอบแล้ว มันอาจจะง่ายกว่าที่จะอ่านคำตอบหากคุณเพิ่งลบข้อมูลที่ล้าสมัยแทนที่จะใช้ขีดฆ่า ประวัติการแก้ไขที่สมบูรณ์ของคำตอบของคุณนั้นสามารถทำได้โดยคลิกที่ลิงค์ที่แสดงเมื่อคุณแก้ไขคำตอบล่าสุด
Stephen Ostermiller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.