web-dev-qa-db-fra.com

Site Web statique HTTPS pour Amazon S3

Je souhaite héberger un site Web statique exclusivement HTTPS utilisant Amazon S3 et CloudFront. Voici ce que j'ai fait jusqu'à présent:

  1. Configurer un compartiment S3 pour l'hébergement de site Web statique et y placer les fichiers de mon site Web
  2. Création d'une distribution CloudFront et orientation vers le compartiment S3
  3. Ajout d'un enregistrement CNAME dans les serveurs de noms de mon domaine pour le sous-domaine www pointant vers le compartiment CloudFront.

Jusqu'ici, tout va bien - je peux accéder à mon site Web à l'aide de la www.example.com adresse. Cependant, je souhaite que le site ne soit disponible que via HTTPS, pour lequel j'ai acheté un certificat SSL de GoDaddy.

Maintenant, la question est:

  1. Est-il possible d'installer ce certificat SSL tiers sur mon site Web hébergé sur S3?
  2. Est-il possible d’avoir une redirection automatique http vers https avec cette configuration?
83
jamix

Oui, à partir d'aujourd'hui, vous pouvez le faire gratuitement.

Vous pouvez maintenant utiliser HTTPS avec les CNAME sur CloudFront, car celui-ci prend désormais en charge les certificats SSL personnalisés à l'aide de l'indication de nom de serveur (SNI): http://aws.typepad.com/aws/2014/03/server-name-indication- sni-and-http-redirection-for-Amazon-cloudfront.html

J'ai réussi à mettre en place un certificat gratuit de classe 1 StartSSL pour mon site statique distribué CloudFront sur S3 sans trop de problèmes (voir: erreur CloudFront lors de la diffusion de services sur HTTPS à l'aide de SNI ).

61
wikichen

Le 2016-01-21, AWS a lancé AWS Certificate Manager , qui est un gratuit service qui vous permet d'émettre un certificat SSL à utiliser avec Elastic Load Balancer et Cloud Front (avec S3 également).

Vous pouvez en apprendre plus à: https://aws.Amazon.com/certificate-manager/

Et vous pouvez vérifier comment déployer votre site Web S3 + Cloudfront avec SSL gratuit d'AWS à l'adresse suivante: https://aws.Amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based -apps-on-aws /

35
barbolo

À ce jour, Cloudfront propose un protocole SSL personnalisé: http://aws.Amazon.com/cloudfront/pricing/

N'oubliez pas qu'ils facturent 600 $ par mois. Plus de détails sur le lien ci-dessus.

17
Christian Fazzini

Pour moi, je devais télécharger un simple site Web React sur S3. Comme le décrit barbolo, vous avez besoin d'un certificat pour accéder au site via SSL. Si le site statique que vous souhaitez déployer est suffisamment simple, vous pouvez:

  1. Transférer vers S3.
  2. Ne pas sélectionnez "Hébergement statique de sites Web"
  3. Convertissez tous les liens relatifs (en css, js, etc.) en liens absolus.

par exemple. à partir de /css/media.css, vous devriez le convertir en https://s3-region-amazonaws.com/bucket-name/css/media.css (pour moi, je ne devais changer que les liens) index.html)

  1. Ne rendre public que le contenu du seau.

C'est ça. Vous pouvez accéder au fichier d'index via https.

Un site simple est un site avec un fichier principal index.html qui pointe vers des pages css et js.

3
alexopoulos7

En plus de la réponse de @ wikichen.

De: https://aws.Amazon.com/cloudfront/custom-ssl-domains/

Par défaut, vous pouvez transmettre votre contenu aux téléspectateurs via HTTPS en utilisant votre nom de domaine de distribution CloudFront dans vos URL, par exemple, https://dxxxxx.cloudfront.net/image.jpg .

Si vous souhaitez diffuser votre contenu via HTTPS en utilisant votre propre nom de domaine et votre propre certificat SSL, vous pouvez utiliser l'une de nos fonctionnalités de prise en charge du certificat SSL personnalisé.

0
Jason