ec2 - s3 static website ssl
HTTPS para el sitio web estático de Amazon S3 (6)
Quiero alojar un sitio web estático HTTPS solo con Amazon S3 y CloudFront. Esto es lo que hice hasta ahora:
- Configurar un cubo S3 para el alojamiento de sitios web estáticos y poner los archivos de mi sitio web en él
- Creó una distribución CloudFront y lo apuntó al cubo S3
- Agregué un registro CNAME en los servidores de nombres de mi dominio para el subdominio
www
apuntando al cubo de CloudFront.
Hasta ahora, muy bien, puedo acceder a mi sitio web usando la dirección www.example.com
. Sin embargo, quiero que el sitio esté disponible solo a través de HTTPS, para lo cual compré un certificado SSL de GoDaddy.
Ahora, la pregunta es:
- ¿Hay alguna forma de instalar este certificado SSL de terceros en mi sitio web alojado en S3?
- ¿Hay alguna forma de redireccionar automáticamente http a https con esta configuración?
A partir de hoy, Cloudfront ofrece SSL personalizado: http://aws.amazon.com/cloudfront/pricing/
Tenga en cuenta que cobran $ 600 por mes. Más detalles en el enlace de arriba.
Además de la respuesta de @ wikichen.
Desde: https://aws.amazon.com/cloudfront/custom-ssl-domains/
De forma predeterminada, puede entregar su contenido a los espectadores a través de HTTPS utilizando su nombre de dominio de distribución CloudFront en sus URL, por ejemplo, https://dxxxxx.cloudfront.net/image.jpg .
Si desea entregar su contenido a través de HTTPS utilizando su propio nombre de dominio y su propio certificado SSL, puede usar una de nuestras características de soporte de certificados SSL personalizados.
Como se mencionó anteriormente, no es directamente posible, pero puede configurar Apache o nginx + SSL en una instancia de EC2, CNAME, su dominio deseado, y el proxy inverso en la URL S3 o Cloudfront real.
No obtendrá los beneficios de Cloudfront con esto, por lo que solo debe publicar su index.html o su equivalente, y usar las URL de la nube "real" (dominio no personalizado) para activos más pesados.
El 2016-01-21 AWS lanzó AWS Certificate Manager , que es un servicio gratuito que le permite emitir un certificado SSL para ser utilizado con Elastic Load Balancer y Cloud Front (junto con S3 también).
Puede obtener más información en: aws.amazon.com/certificate-manager
Y puede consultar cómo implementar su sitio web S3 + Cloudfront con SSL gratuito de AWS en: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/
Para mí tuve que subir un simple sitio web de React a S3. Como barbolo describe, necesitas un certificado para acceder al sitio a través de SSL. Si el sitio estático que desea implementar es lo suficientemente simple, puede:
- Cargar a S3.
- No seleccione "Alojamiento web estático"
- Convierta todos los enlaces relativos (a css, js, etc.) en enlaces absolutos.
por ejemplo, desde /css/media.css deberías convertirlo a https://s3-region-amazonaws.com/bucket-name/css/media.css (para mí tuve que cambiar solo los enlaces en index.html)
- Haga público el contenido del cubo.
Eso es. Puede acceder al archivo de índice a través de https.
Un sitio simple es un sitio con un archivo index.html principal que apunta a algunas páginas css y js.
Sí, a partir de hoy puedes hacerlo sin cargo.
Ahora puede usar HTTPS con CNAME en CloudFront, ya que ahora admite certificados SSL personalizados con Server Name Indication (SNI): http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html
Me las arreglé para configurar un certificado StartSSL Clase 1 gratuito para mi sitio estático distribuido CloudFront en S3 sin demasiados problemas (consulte: Error de CloudFront cuando se publica sobre HTTPS utilizando SNI ).