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

Тому я встановив wildcall ssl на роздрібну торгову мережу (у нас є інші субдомени), але вона не працювала. Я пішов перевірити
https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

І це не працювало, а значить, на самому веб-сайті Amazon S3 https не працював.

Як зробити цю роботу?


Ваше запитання не пояснює, що саме ви хочете робити. Ви хочете зробити, щоб http-запити переспрямовували на https? Якщо так, то вам слід переформулювати заголовок питання, щоб краще констатувати цей факт. Це допоможе більшості людей знайти це питання і відповісти на нього.
А. Леві

Ні, я хочу отримати доступ до зображення безпечно. Чи можливо це?
Керрі Джонс

Ця остання URL-адреса працює для мене, хоча вона має помилку сертифіката, яка, ймовірно, для вас є проблемою
Майкл Харен

Так, це проблема. Для мене це перешкоджає мені бачити це в першу чергу, і я повинен перевірити церт вручну, щоб побачити це.
Керрі Джонс

1
лише кілька років запізнюються на гру, але імена ssl працюють із cloudfront. Приклад cdn.example.com вказує на randomstring.cloudfront.net, який вказує на ваше відро s3. https: // cdn.example.com подаватиме вміст без помилок, але ви отримуєте попередження cert, якщо намагаєтесь переглядати URL-адресу безпосередньо.
Ніл Макґуйган

Відповіді:


182

Це відповідь, яку я отримав від їхніх Premium Services

Здравствуйте,

Це насправді проблема з тим, як SSL перевіряє імена, що містять символи періоду, '.',>. Ми задокументували цю поведінку тут:

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

Єдине пряме виправлення для цього - використання імені відра, яке не містить цього символу. Натомість ви можете використовувати відро з назвою "меблі-роздрібний каталог". Це дозволить вам використовувати HTTPS з

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

Можна, звичайно, поставити запис DNS CNAME, щоб зробити це дружнішим. Наприклад,

У CNAME меблі-retailcatalog-us.s3.amazonaws.com.

Сподіваюся, що це допомагає. Повідомте нас, якщо у вас є інші питання.

Веб-сервіси Amazon

На жаль, ваш "дружній" CNAME викличе невідповідність імені хоста під час перевірки сертифіката, тому ви не можете реально використовувати його для безпечного з'єднання. Великою відсутністю функції S3 є прийняття спеціальних сертифікатів для ваших доменів.


ОНОВЛЕННЯ 2.10.2012

Від @mpoisot:

Посилання, яке надав Amazon, більше нічого не говорить про https. Я роздумував над документами S3 і, нарешті, знайшов невелику записку про це на сторінці віртуального хостингу: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html


ОНОВЛЕННЯ 17.06.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
самотній човен

8
Тепер можна використовувати власний сертифікат SSL для Cloudfront без додаткових витрат . Тож заряд у розмірі 600 $ / м зник.
шиплячій

4
@schickling Також варто відзначити, що CloudFront змінив це, дозволивши обирати SNI або виділений IP SSL. Виділений IP SSL продовжує коштувати 600 доларів, але SNI SSL безкоштовний. Просто переконайтеся, що веб-переглядачі, на які ви орієнтовані, підтримують SNI.
Райан Пендлтон

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 не відповідає файлам.yourdomain.com.s3.amazonaws.com): secure-yourdomain.s3.amazonaws.com . Тепер у вас є два відра для управління замість одного. Не велика справа, але у веб-додатках висипається будь-яка складність, ніж те, що абсолютно потрібно.
andrew

7
Привіт, я насправді хлопець, який написав посилальне посилання, яке ви поставили там "Joonha". Маленький дорогоцінний камінь, який не можна пропустити, використовує цю техніку + "//", як ваш протокол. У моєму бізнесі, що займається розробкою електронної комерції, ми робимо посилання на URL-адреси за допомогою "//" замість "https: // або" http: // ", тому що нам ніколи не потрібно піклуватися про це.
Джейсон Себрінг

4
Здається, це більше не працює, я отримав помилку PermanentRedirect.
Пауло Касаретто

5
Дивіться мою нову відповідь щодо того, чому це працює для деяких людей, а не для інших. Важливо, в якому регіоні перебувають ваші відра.
Нейт

47

відповідь payton109 правильна, якщо ви знаходитесь у регіоні США-Схід-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
При використанні запису DNS CNAME мова йде лише про дозвіл домену, тому ви не можете перенаправляти URL-адресу з контуром. Дивіться також: stackoverflow.com/questions/32714351/…
Себастьян Лорбер

Це працює для мене і є найбільш повною відповіддю.
використовуйте

2
Це добре, але це обхід статичних правил хостингу веб-сайтів, таких як правила переадресації до index.html
Кім Т

Це ідеальне рішення для веб-розробників без команди deps або sys-admin. Звичайно, у ваших активів не буде елегантного домену, але скільки клієнтів перевіряють html або основні запити та tsk tsk tsk у URL-адресі домену? Не багато! Виведення статичних активів із програми та на S3 - це перший перший крок.
stwr667

8

Як було сказано раніше, це неможливо безпосередньо, але ви можете встановити Apache або nginx + SSL на екземплярі EC2, CNAME бажаного домену для цього та повернути проксі-проксі до S3 (нестандартного домену) S3.


Один із способів пошуку повністю кваліфікованого шляху SSL до ресурсу S3 - це деталізація до нього за допомогою консолі AWS. Повний шлях відображається внизу вкладки Огляд.
eric gilbertson
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.