¿Hay alguna manera de usar HTTPS con CloudFront CDN y CNAME de Amazon?

16

Utilizamos CDN CloudFront de Amazon con CNAME personalizados que cuelgan bajo el dominio principal (static1.example.com). Aunque podemos romper esta apariencia uniforme y usar las URL 123123glyw00.cloudfront.net originales para utilizar HTTPS, ¿hay alguna otra manera?

¿Amazon o algún otro proveedor similar ofrecen alojamiento HTTPS CDN?

¿TLS y su cifrado selectivo están disponibles para su uso en algún lugar (SNI: Indicación del nombre del servidor)?

Nota al pie: suponiendo que la respuesta es no, pero solo con la esperanza de que alguien lo sepa.

EDITAR : ahora usando Google App Engine https://developers.google.com/appengine/docs/ssl para el alojamiento de CDN con soporte SSL.

Metalshark
fuente

Respuestas:

18

CloudFront con CNAME y HTTPS no es compatible, consulte la primera nota en la documentación de CloudFront CNAME .

No creo que ninguno de los CDN de bajo costo tenga soporte para CNAME y HTTPS juntos, para hacerlo tendrían que tener alguna forma de cargar su certificado no cifrado a su red CDN.

Carson
fuente
2
O broker de la misma manera que Google ofrece configuración de DNS con Google Apps y eNom / GoDaddy. Hay esperanza en el futuro con en.wikipedia.org/wiki/Server_Name_Indication Me preguntaba si algún proveedor ya había comenzado a probar esta capacidad.
Metalshark
1
Nota en 2016: esta respuesta no está actualizada, consulte la respuesta de John Mark Mitchell a continuación.
Benjamin
16

TENGA EN CUENTA LAS EDICIONES Y ACTUALIZACIONES A CONTINUACIÓN

En el momento de escribir esto (23 de mayo de 2012), SSL es compatible a través de la URL de distribución de CloudFront solamente. Es decir, no puedes CNAME la URL SSL. Concretamente, puede hacer referencia a un artículo a través de SSL como:

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

pero no:

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

donde cdn.mydomain.com es un CNAME para [distribución] .cloudfront.net. En la actualidad obtendrá errores de SSL.

Esto significa que no puede usar su nombre de dominio o certificado SSL. Esto puede causar problemas con las políticas de dominio cruzado en el navegador, así como agregar complejidad de deshacer al mantenimiento de un sitio.

El personal de AWS me ha asegurado que el soporte HTTPS para la distribución CNAME está en su lista de características, pero que necesita el apoyo de la comunidad para la priorización. Para ayudar en este esfuerzo, complete la encuesta de CloudFront (consulte a continuación) y tenga en cuenta esta solicitud de función. El personal de AWS utiliza los datos recopilados de la encuesta para planificar y priorizar la hoja de ruta de CloudFront.

Asegúrese de tener en cuenta que se necesita soporte HTTPS CNAME cuando realice la Encuesta CloudFront: http://aws.qualtrics.com/SE/?SID=SV_9yvAN5PK8abJIFK

EDITAR: Noté una publicación del 11 de junio de 2012 que AWS había actualizado el enlace de la encuesta:

Nuevo enlace de encuesta: http://aws.qualtrics.com/SE/?SID=SV_e4eM1cRblPaccFS

Creo que vale la pena darles su opinión sobre cómo hacer que CNAME + SSL sea una característica compatible.

EDITAR: anunciado el 11 de junio de 2013, los certificados SSL personalizados con IP dedicadas ahora son compatibles con CloudFront en AWS:

Consulte el anuncio de la función en el blog de AWS: http://aws.typepad.com/aws/2013/06/custom-ssl-domain-names-root-domain-hosting-for-amazon-cloudfront.html

Un elemento de consideración antes de contar con seguir esta ruta, necesita ver un valor significativo de desviarse de la ruta https: // [distribution] .cloudfront.net ya que el precio es de $ 600 USD por mes para alojar certificados SSL personalizados.

EDITAR: anunciado el 5 de marzo de 2014, los certificados SSL personalizados que utilizan la indicación de nombre de servidor (SNI) ahora son compatibles con CloudFront en AWS - SIN CARGO ADICIONAL:

AWS ahora admite certificados SSL personalizados a través de SNI. Esto es ENORME, ya que abre la posibilidad de aprovechar la infraestructura existente de AWS (direcciones IP). Como tal, ¡AWS no cobra extra por este servicio! Para obtener más información, lea sobre esto en la publicación del blog de AWS: http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and-http-redirection-for-amazon-cloudfront.html

Sin embargo, un elemento que debe tenerse en cuenta, la Indicación de nombre del servidor (SNI) tiene algunos inconvenientes que deben tenerse en cuenta antes de confiar completamente en él. En particular, no es compatible con algunos navegadores antiguos. Si desea comprender esto mejor, consulte: /programming/5154596/is-ssl-sni-actually-used-and-supported-in-browsers

EDITAR: AWS anunció el 21 de enero de 2016, ¡proporcionarán certificados SSL personalizados GRATIS!

Para leer sobre el anuncio completo en el sitio de AWS: https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

Amazon ha anunciado un nuevo servicio llamado AWS Certificate Manager, que ofrece certificados SSL / TLS gratuitos para recursos de AWS.

Estos certificados generalmente se compran a proveedores de certificados de terceros como Symantec, Comodo y RapidSSL y pueden costar entre $ 50 y cientos de dólares, dependiendo del nivel de verificación de identidad realizado.

El proceso para obtener un nuevo certificado siempre ha sido un poco complicado, ya que requiere la generación de una Solicitud de firma de certificado en el servidor que se protege, enviar esa solicitud a un proveedor de certificados y luego instalar el certificado una vez que se recibe. Dado que Amazon administra todo el proceso, todo eso desaparece y los certificados se pueden emitir y aprovisionar rápidamente en los recursos de AWS automáticamente.

Hay algunas limitaciones a los certificados. Amazon solo proporciona certificados validados de dominio, una verificación simple donde la validación de dominio se realiza por correo electrónico. Si desea un certificado de validación extendida, puede quedarse con sus proveedores de certificados actuales. Además, los certificados no se pueden usar para la firma de código o el cifrado de correo electrónico.

John Mark Mitchell
fuente
3
developers.google.com/appengine/docs/ssl lo documenta. Después de 2 años de intentar que AWS respalde la función, se le ofrece un voto cuando un competidor ya ha lanzado la función, es demasiado poco y demasiado tarde.
Metalshark
vamos AWS, estoy de acuerdo con @Metalshark y todos en este hilo. Acabo de completar el formulario de comentarios absurdamente largo de AWS Cloudfront para abogar por CNAME-HTTPS, pero si Google App Engine lo ofrece y esta pregunta tiene 2 años, ¡tienes que hacer algo lo antes posible!
Tim Peterson
No veo nada en la página de Google App Engine sobre CDN. AWS ya ofrece soporte SSL gratuito para todo lo demás, pero el soporte CDN es más difícil. No me cite, pero sospecho que es porque hay varias direcciones IP involucradas.
Rupert Rawnsley
Gracias por mantener esta respuesta actualizada, John. Acabo de eliminar un montón de comentarios desactualizados que se han incorporado a la respuesta. Probablemente sería más fácil leer la respuesta si acaba de eliminar la información desactualizada en lugar de usar tachado. El historial de revisión completo de su respuesta está disponible haciendo clic en el enlace que muestra cuándo duró la respuesta editada.
Stephen Ostermiller