Amazon S3 - HTTPS / SSL - เป็นไปได้ไหม [ปิด]


177

ฉันเห็นคำถามอื่นสองสามข้อเกี่ยวกับเรื่องนี้โดยไม่มีคำตอบหรือข้อมูลที่แท้จริง (หรือปรากฏขึ้น)

ฉันมีภาพที่นี่:
http://furniture.retailcatalog.us/products/2061/6262u9665.jpg

ซึ่งเปลี่ยนเส้นทางไปที่:
http://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

ฉันต้องการให้เป็น (https):
https://furniture.retailcatalog.us/products/2061/6262u9665.jpg

ดังนั้นฉันจึงติดตั้งไวลด์การ์ด ssl บน retailcatalog.us (เรามีโดเมนย่อยอื่น ๆ ) แต่มันไม่ทำงาน ฉันไปตรวจสอบ
https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

และมันก็ใช้งานไม่ได้ซึ่งหมายความว่าเว็บไซต์ของ Amazon S3 นั้น https จะไม่ทำงาน

ฉันจะทำให้งานนี้ได้อย่างไร


คำถามของคุณไม่ได้อธิบายอย่างชัดเจนว่าคุณต้องการทำอะไร คุณต้องการเปลี่ยนคำขอ HTTP ให้เป็น https หรือไม่ ถ้าเป็นเช่นนั้นคุณควรใส่ชื่อเรื่องของคำถามเพื่อระบุข้อเท็จจริงที่ดีกว่า ที่จะช่วยให้ผู้คนจำนวนมากขึ้นในการค้นหาคำถามนี้และตอบคำถาม
A. Levy

ไม่ฉันต้องการเข้าถึงภาพอย่างปลอดภัย เป็นไปได้ไหม
Kerry Jones

URLสุดท้ายนั้นใช้งานได้สำหรับฉันแม้ว่าจะมาพร้อมกับข้อผิดพลาดใบรับรองซึ่งน่าจะเป็นปัญหาสำหรับคุณ
Michael Haren

ใช่นั่นเป็นปัญหา สำหรับฉันในการหยุดฉันจากการเห็นมันในสถานที่แรกและฉันต้องตรวจสอบใบรับรองด้วยตนเองเพื่อดูมัน
Kerry Jones

1
เพียงไม่กี่ปีที่ผ่านมาถึงเกม แต่ ssl cnames ทำงานกับ cloudfront ตัวอย่าง cdn.example.com ชี้ไปที่ randomstring.cloudfront.net ซึ่งชี้ไปที่ฝากข้อมูล s3 ของคุณ https: // cdn.example.com จะแสดงเนื้อหาโดยไม่มีข้อผิดพลาด แต่คุณจะได้รับคำเตือนใบรับรองหากพยายามเรียกดู url โดยตรง
Neil McGuigan

คำตอบ:


182

นี่คือคำตอบที่ฉันได้รับจากบริการพรีเมียมของพวกเขา

สวัสดี,

นี่เป็นปัญหาที่วิธีการตรวจสอบความถูกต้องของชื่อ SSL ประกอบด้วยตัวอักษร '.',> เราได้บันทึกพฤติกรรมนี้ไว้ที่นี่:

http://docs.amazonwebservices.com/AmazonS3/latest/dev/BucketRestrictions.html

การแก้ไขไปข้างหน้าเพียงอย่างเดียวสำหรับสิ่งนี้คือการใช้ชื่อที่ฝากข้อมูลที่ไม่มีอักขระนั้น คุณอาจใช้ถังที่มีชื่อว่า 'furniture-retailcatalog-us' แทน สิ่งนี้จะช่วยให้คุณใช้ HTTPS กับ

https://furniture-retailcatalog-us.s3.amazonaws.com/

แน่นอนคุณสามารถใส่ระเบียน CNAME DNS เพื่อให้เป็นมิตรยิ่งขึ้น ตัวอย่างเช่น,

images-furniture.retailcatalog.us ใน CNAME furniture-retailcatalog-us.s3.amazonaws.com

หวังว่าจะช่วย แจ้งให้เราทราบหากคุณมีคำถามอื่น ๆ

Amazon Web Services

น่าเสียดายที่ CNAME "เป็นมิตร" ของคุณจะทำให้ชื่อโฮสต์ไม่ตรงกันเมื่อตรวจสอบความถูกต้องของใบรับรองดังนั้นคุณจึงไม่สามารถใช้งานได้จริงสำหรับการเชื่อมต่อที่ปลอดภัย คุณสมบัติที่ขาดหายไปของ S3 คือการยอมรับใบรับรองที่กำหนดเองสำหรับโดเมนของคุณ


อัพเดท 10/2/2012

จาก @mpoisot:

ลิงก์ Amazon ที่ให้ไว้ไม่ได้พูดอะไรเกี่ยวกับ https อีกต่อไป ฉันแหย่ในเอกสาร S3 และในที่สุดก็พบบันทึกเล็ก ๆ เกี่ยวกับมันในหน้า Virtual Hosting: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html


อัพเดท 6/17/2013

จาก @Joseph Lust:

เพิ่งได้รับมัน! ลองใช้งานและสมัครใช้งานคำเชิญ: http://aws.amazon.com/cloudfront/custom-ssl-domains


22
+1 สำหรับการติดตามคำถามที่ชนะของคุณ - ข้อมูลที่เป็นประโยชน์มากมองข้ามในเอกสาร S3 ได้อย่างง่ายดาย!
Steffen Opel

1
ลิงก์ Amazon ที่ให้ไว้ไม่ได้พูดอะไรเกี่ยวกับ https อีกต่อไป ฉันแหย่ในเอกสาร S3 และในที่สุดก็พบบันทึกเล็ก ๆ เกี่ยวกับมันในหน้าโฮสติ้งเสมือนจริง: docs.amazonwebservices.com/AmazonS3/latest/dev/…
mpoisot

4
โปรดทราบว่ามันคือ $ 600 ต่อเดือน : -o
loneboat

8
ตอนนี้มันเป็นไปได้ที่จะใช้ใบรับรอง SSL ของคุณเองสำหรับ CloudFront มีค่าใช้จ่ายเพิ่มเติมใดดังนั้นค่าใช้จ่าย 600 $ / m จึงหมดไป
schickling

4
@schickling นอกจากนี้ยังเป็นที่น่าสังเกตว่า CloudFront ทำการเปลี่ยนแปลงนี้โดยอนุญาตให้คุณเลือกระหว่างSNIหรือDedicated IP SSL IP SSL เฉพาะยังคงมีค่าใช้จ่าย $ 600 แต่ SNI SSL นั้นฟรี เพียงตรวจสอบให้แน่ใจว่าเบราว์เซอร์ที่คุณกำหนดเป้าหมายรองรับ SNI
Ryan Pendleton

111

ฉันรู้ว่าหนึ่งปีหลังจากความจริง แต่การใช้วิธีนี้แก้มันได้: https://s3.amazonaws.com/furniture.retailcatalog.us/products/2061/6262u9665.jpg

ฉันเห็นสิ่งนี้ในเว็บไซต์อื่น ( http://joonhachu.blogspot.com/2010/09/helpful-tip-for-amazon-s3-urls-for-ssl.html )


18
ดูเหมือนจะไม่ได้แก้ปัญหาจริงๆ มันยังคงใช้ชื่อโดเมน amazon (s3.amazonaws.com) ดังนั้นมันแย่มาก!
themihai

14
มันไม่ได้ดูด ใช่โดเมนนั้นแตกต่างกัน แต่อนุญาตให้คุณแสดงเนื้อหาผ่าน SSL บนที่ฝากข้อมูลที่มีอยู่ใน S3 หากไม่มีรูปแบบนี้คุณต้องสร้างที่ฝากข้อมูลสำหรับไฟล์ที่ใช้ SSL ของคุณ (เนื่องจากใบรับรอง SSL สัญลักษณ์ตัวแทน S3 ไม่ตรงกับ files.yourdomain.com.s3.amazonaws.com): secure-yourdomain.s3.amazonaws.com . ตอนนี้คุณมีถังสองถังที่จะจัดการแทนที่จะเป็นหนึ่งถัง ไม่ใช่เรื่องใหญ่ แต่ในเว็บแอพมีความซับซ้อนมากกว่าที่จำเป็นจริงๆ
แอนดรูว์

7
สวัสดีฉันเป็นคนที่เขียนลิงค์อ้างอิงที่คุณใส่ไว้ที่นั่น "จุนฮา" อัญมณีเล็ก ๆ ที่ไม่ควรพลาดคือการใช้เทคนิค + "//" เพียงอย่างเดียวเมื่อโปรโตคอลของคุณเริ่มต้น ในธุรกิจพัฒนาอีคอมเมิร์ซของฉันเราทำการเชื่อมโยงไปยัง URL ด้วย "//" แทนที่จะเป็น "https: // หรือ" http: // "เพราะเราไม่ต้องสนใจจุดนั้น
Jason Sebring

4
ดูเหมือนว่านี่จะไม่ทำงานอีกต่อไปฉันได้รับข้อผิดพลาด PermanentRedirect
Paulo Casaretto

5
ดูคำตอบใหม่ของฉันเกี่ยวกับสาเหตุที่ใช้งานได้กับบางคนไม่ใช่คนอื่น มันสำคัญที่ถังของคุณอยู่ในภูมิภาค
เนท

47

คำตอบของ payton109 นั้นถูกต้องหากคุณอยู่ในภูมิภาค US-EAST-1 ที่เป็นค่าเริ่มต้น หากที่เก็บข้อมูลของคุณอยู่ในภูมิภาคอื่นให้ใช้ URL ที่แตกต่างกันเล็กน้อย:

https://s3-<region>.amazonaws.com/your.domain.com/some/asset

<region>ตำแหน่งที่เก็บข้อมูลอยู่ที่ไหน ตัวอย่างเช่นหากที่เก็บข้อมูลของคุณอยู่ในภูมิภาคus-west-2(ออริกอน) คุณสามารถทำสิ่งนี้ได้:

https://s3-us-west-2.amazonaws.com/your.domain.com/some/asset

1
เมื่อใช้ระเบียน CNAME DNS จะเกี่ยวกับการแก้ปัญหาโดเมนเท่านั้นดังนั้นคุณจึงไม่สามารถเปลี่ยนเส้นทางไปยัง URL ที่มีเส้นทาง ดูเพิ่มเติมที่: stackoverflow.com/questions/32714351/…
Sebastien Lorber

สิ่งนี้เหมาะกับฉันและเป็นคำตอบที่สมบูรณ์ที่สุด
2560

2
สิ่งนี้เป็นสิ่งที่ดี แต่มันผ่านกฎการโฮสต์เว็บไซต์แบบสแตติกเช่นกฎการเปลี่ยนเส้นทางไปยัง index.html
Kim T

นี่เป็นโซลูชั่นที่สมบูรณ์แบบสำหรับนักพัฒนาเว็บที่ไม่มีทีม devops หรือ sys-admin แน่นอนว่าสินทรัพย์ของคุณจะไม่มีโดเมนที่สวยงาม แต่มีลูกค้ากี่รายที่ตรวจสอบ html หรือคำขอที่อยู่ภายใต้และ tsk tsk tsk ที่ url โดเมน ไม่มาก! การนำทรัพย์สินของคุณออกไปจากแอปพลิเคชันของคุณและสู่ S3 เป็นขั้นตอนแรกที่ยอดเยี่ยมในครั้งแรก
stwr667

8

ตามที่ระบุไว้ก่อนหน้านี้ไม่สามารถทำได้โดยตรง แต่คุณสามารถตั้งค่า Apache หรือ nginx + SSL บนอินสแตนซ์ EC2 CNAME โดเมนที่คุณต้องการไปที่นั้นและย้อนกลับพรอกซีไปยัง URL S3 (ไม่ใช่โดเมนที่กำหนดเอง)


วิธีหนึ่งในการค้นหาเส้นทาง SSL แบบเต็มไปยังทรัพยากร S3 คือการเจาะลึกโดยใช้คอนโซล AWS เส้นทางแบบเต็มจะปรากฏที่ด้านล่างของแท็บภาพรวม
eric gilbertson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.