Amazon S3 - HTTPS / SSL - ¿Es posible? [cerrado]

177

Vi algunas otras preguntas con respecto a esto sin ninguna respuesta o información real (o eso parecía).

Tengo una imagen aquí:
http://furniture.retailcatalog.us/products/2061/6262u9665.jpg

Que está redirigiendo a:
http://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

Necesito que sea (https):
https://furniture.retailcatalog.us/products/2061/6262u9665.jpg

Así que instalé un comodín ssl en retailcatalog.us (tenemos otros subdominios), pero no estaba funcionando. Fui a consultar
https://furniture.retailcatalog.us.s3.amazonaws.com/products/2061/6262u9665.jpg

Y no estaba funcionando, lo que significa que en el sitio web de Amazon S3 en sí, el https no estaba funcionando.

¿Cómo hago para que esto funcione?

Kerry Jones
fuente
Tu pregunta no explica exactamente lo que quieres hacer. ¿Desea que las solicitudes http se redirijan a https? Si es así, debe reformular el título de la pregunta para expresar mejor ese hecho. Eso ayudará a más personas a encontrar esta pregunta y responderla.
A. Levy
No, quiero acceder a la imagen de forma segura. es posible?
Kerry Jones
Esa última URL funciona para mí, aunque viene con un error de certificado que probablemente sea un problema para usted
Michael Haren
Si, eso es un problema. Para mí, me impide verlo en primer lugar y tengo que verificar el certificado manualmente para verlo.
Kerry Jones
1
Solo unos años tarde al juego, pero los nombres SSL funcionan con Cloudfront. ejemplo cdn.example.com apunta a randomstring.cloudfront.net que apunta a su depósito s3. https: // cdn.example.com publicará contenido sin errores, pero recibirá una advertencia de certificado si intenta navegar directamente por la URL.
Neil McGuigan el

Respuestas:

182

Esta es una respuesta que recibí de sus Servicios Premium

Hola,

Esto es realmente un problema con la forma en que SSL valida los nombres que contienen un punto, '.',> Carácter. Hemos documentado este comportamiento aquí:

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

La única solución directa para esto es usar un nombre de depósito que no contenga ese carácter. En su lugar, puede usar un cubo llamado 'furniture-retailcatalog-us'. Esto le permitiría usar HTTPS con

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

Podría, por supuesto, poner un registro DNS de CNAME para hacerlo más amigable. Por ejemplo,

images-furniture.retailcatalog.us EN CNAME furniture-retailcatalog-us.s3.amazonaws.com.

Espero que ayude. Háganos saber si tiene alguna otra pregunta.

Servicios web de Amazon

Lamentablemente, su CNAME "amigable" hará que el nombre del host no coincida al validar el certificado, por lo tanto, realmente no puede usarlo para una conexión segura. Una gran característica que falta de S3 es aceptar certificados personalizados para sus dominios.


ACTUALIZACIÓN 10/2/2012

De @mpoisot:

El enlace que Amazon proporcionó ya no dice nada sobre https. Revisé los documentos de S3 y finalmente encontré una pequeña nota al respecto en la página de alojamiento virtual: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html


ACTUALIZACIÓN 17/06/2013

De @Joseph Lust:

¡Acabo de recibirlo! Compruébalo y regístrate para recibir una invitación: http://aws.amazon.com/cloudfront/custom-ssl-domains

Kerry Jones
fuente
22
+1 por el seguimiento de su pregunta ganada: ¡información muy útil que se pasa por alto fácilmente en la documentación de S3!
Steffen Opel
1
El enlace que Amazon proporcionó ya no dice nada sobre https. Revisé los documentos de S3 y finalmente encontré una pequeña nota al respecto en la página de alojamiento virtual: docs.amazonwebservices.com/AmazonS3/latest/dev/…
mpoisot
44
Tenga en cuenta que son $ 600 por mes. : -o
bote solitario
8
Ahora es posible usar su propio certificado SSL para Cloudfront sin costos adicionales . Entonces el cargo de 600 $ / m se ha ido.
schickling 01 de
44
@schickling También vale la pena señalar que CloudFront realizó este cambio al permitirle elegir entre SNI o SSL SSL dedicado . El IP SSL dedicado continúa costando $ 600, pero SNI SSL es gratis. Solo asegúrese de que los navegadores a los que se dirige sean compatibles con SNI.
Ryan Pendleton
111

Sé que es un año después del hecho, pero usar esto lo resuelve: https://s3.amazonaws.com/furniture.retailcatalog.us/products/2061/6262u9665.jpg

Vi esto en otro sitio ( http://joonhachu.blogspot.com/2010/09/helpful-tip-for-amazon-s3-urls-for-ssl.html ).

payton109
fuente
18
realmente no parece resolverlo. Todavía usa el nombre de dominio de Amazon (s3.amazonaws.com), ¡así que apesta!
themihai
14
Esto no apesta. Sí, el dominio es diferente, pero le permite servir contenido a través de SSL en un depósito existente en S3. Sin este esquema, debe crear un depósito solo para sus archivos con servicio SSL (porque el certificado SSL comodín S3 no coincidirá con files.yourdomain.com.s3.amazonaws.com): secure-yourdomain.s3.amazonaws.com . Ahora tiene dos cubos para administrar en lugar de uno. No es un gran problema, pero en las aplicaciones web, una mayor complejidad de lo que es absolutamente necesario apesta.
Andrew
77
Hola, en realidad soy el tipo que escribió el enlace de referencia que pones allí "Joonha". La pequeña joya que no debe perderse es usar esa técnica + "//" solo como comienzo de su protocolo. En mi negocio de desarrollo de comercio electrónico, hacemos enlaces a URL con "//" en lugar de "https: // o" http: // "porque nunca tenemos que preocuparnos en ese punto.
Jason Sebring
44
Parece que esto ya no funciona, recibí un error de Redirección permanente.
Paulo Casaretto
55
Vea mi nueva respuesta sobre por qué esto funciona para algunas personas y no para otras. Importa en qué región están tus cubos.
Nate
47

La respuesta de payton109 es correcta si se encuentra en la región predeterminada US-EAST-1. Si su depósito está en una región diferente, use una URL ligeramente diferente:

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

¿Dónde <region>está el nombre de ubicación del depósito? Por ejemplo, si su cubo está en la us-west-2región (Oregon), puede hacer esto:

https://s3-us-west-2.amazonaws.com/your.domain.com/some/asset
Nate
fuente
1
Cuando se utiliza un registro DNS CNAME, solo se trata de la resolución del dominio, por lo que no se puede redirigir a una URL con una ruta. Ver también: stackoverflow.com/questions/32714351/…
Sebastien Lorber el
Esto funciona para mí y es la respuesta más completa.
2017
2
Esto es bueno, pero omite las reglas de alojamiento de sitios web estáticos, como las reglas de redireccionamiento a index.html
Kim T
Esta es la solución perfecta para desarrolladores web sin un equipo devops o sys-admin. Claro, sus activos no tendrán un dominio elegante, pero ¿cuántos clientes inspeccionan el html o las solicitudes subyacentes y tsk tsk tsk en la URL del dominio? ¡No muchos! Obtener sus activos estáticos de su aplicación y ponerlos en S3 es un gran primer paso en primer lugar.
stwr667
8

Como se indicó anteriormente, no es directamente posible, pero puede configurar Apache o nginx + SSL en una instancia EC2, CNAME su dominio deseado para eso y proxy inverso a las URL S3 (dominio no personalizado).

Mark Wang
fuente
Una forma de encontrar la ruta SSL totalmente calificada a un recurso S3 es profundizar en él utilizando la consola de AWS. La ruta completa se muestra en la parte inferior de la pestaña Descripción general.
Eric Gilbertson