Comment configurer un certificat SSL pour une application exécutée dans un environnement Elastic Beanstalk ?

Lecture de 4 minute(s)
0

Je souhaite configurer un certificat SSL pour mon application qui s'exécute sur AWS Elastic Beanstalk.

Brève description

Pour activer le cryptage SSL pour votre application qui s'exécute sur Elastic Beanstalk, effectuez l'une des actions suivantes :

  • Mettre fin à une connexion HTTPS au niveau de l'équilibreur de charge
  • Mettre fin à une connexion HTTPS au niveau de l'instance
  • Rediriger HTTP vers HTTPS

Résolution

Mettre fin à une connexion HTTPS au niveau de l'équilibreur de charge

Pour mettre à jour votre environnement Elastic Beanstalk afin d'utiliser une connexion HTTPS, vous devez configurer un écouteur HTTPS pour l'équilibreur de charge de votre environnement. Il existe deux types d'équilibreurs de charge qui prennent en charge un écouteur HTTPS :

  • Classic Load Balancer
  • Application Load Balancer

Pour plus d'informations, consultez la section Configuration de l'équilibreur de charge de votre environnement Elastic Beanstalk pour mettre fin à une connexion HTTPS.

Mettre fin à une connexion HTTPS au niveau de l'instance

Pour utiliser le protocole HTTPS avec un environnement à instance unique ou configurer votre équilibreur de charge de manière à transmettre le trafic sans déchiffrement, vous pouvez utiliser des crochets de plate-forme. Utilisez les crochets de plate-forme pour configurer le serveur proxy qui transmet le trafic à une application afin de mettre fin aux connexions HTTPS. Le fichier hook dépend du type de plateforme Elastic Beanstalk. Pour plus d'informations, consultez la section Configuration de votre application pour mettre fin aux connexions HTTPS au niveau de l'instance.

Remarque : Étant donné que les plateformes Amazon Linux AMI (AL1) ont été retirées, il est recommandé d'utiliser des crochets de plate-forme pour ajouter des modifications au serveur proxy. Déplacez les fichiers de configuration du proxy précédemment fournis dans le répertoire .ebextensions/nginx de la plateforme AL1 vers le répertoire platform/nginx de crochets de la plateforme AL2. Pour étendre la configuration NGINX par défaut d'Elastic Beanstalk, ajoutez les fichiers de configuration .conf à un dossier nommé .platform/nginx/conf.d/ dans votre application bundle source. La configuration NGINX d'Elastic Beanstalk inclut automatiquement les fichiers .conf dans ce dossier :

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`--

Pour remplacer la configuration NGINX par défaut d'Elastic Beanstalk, incluez une configuration dans votre bundle source sur .platform/nginx/nginx.conf :

~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- nginx.conf
`--

Si vous remplacez la configuration NGINX d'Elastic Beanstalk, insérez les configurations d'Elastic Beanstalk. L'intégration des configurations permet d'améliorer les rapports et la surveillance de l'intégrité, le mappage automatique des applications et les fichiers statiques. Pour intégrer les configurations, ajoutez la ligne suivante à votre fichier nginx.conf :

include conf.d /elasticbeanstalk/ *.conf;

Pour plus d'informations sur la configuration d'un proxy, consultez la section Configuration inverse du proxy.

**Remarque :**Vous pouvez recevoir un avertissement dans le journal des erreurs du proxy qui indique nginx : [avertissez que] la directive « ssl » est obsolète, utilisez la directive « listen... ssl ». Pour éviter cet avertissement, utilisez le fichier .conf suivant et stockez-le dans le dossier des crochets de la plateforme pour mettre fin au SSL au niveau de l'instance :

listen       443 ssl;
server_name  localhost;


location / {
              proxy_pass  http://localhost:app_port;
              proxy_set_header   Connection "";
              proxy_http_version 1.1;
              proxy_set_header        Host            $host;
              proxy_set_header        X-Real-IP       $remote_addr;
              proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header        X-Forwarded-Proto https;
          }
      }

Rediriger HTTP vers HTTPS

La redirection HTTP vers HTTPS gère le trafic non sécurisé initié par le client et le redirige vers HTTPS. Si vous utilisez un équilibreur de charge d'application ou une instance unique pour la redirection, consultez la section Configuration de la redirection HTTP vers HTTPS.

Par défaut, les équilibreurs de charge classiques ne peuvent pas rediriger le trafic HTTP vers HTTPS. Au lieu de cela, configurez vos règles de réécriture pour les instances de serveur Web qui se trouvent derrière le l’équilibreur de charge classique. Pour plus d'informations, consultez la section Comment rediriger le trafic HTTP vers HTTPS sur mon équilibreur de charge classique ?


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an