

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Suspension des connexions HTTPS sur des instances EC2 exécutant Tomcat
<a name="https-singleinstance-tomcat"></a>

Pour les types de conteneurs Tomcat, vous devez utiliser un [fichier de configuration](ebextensions.md) afin d'autoriser Apache HTTP Server à utiliser HTTPS lorsqu'il agit en tant que proxy inverse pour Tomcat.

Ajoutez l'extrait suivant à votre fichier de configuration, en remplaçant le certificat et la clé privée comme demandé, puis enregistrez-les dans le répertoire `.ebextensions` de votre bundle de fichiers source. Le fichier de configuration effectue les tâches suivantes :
+ La clé `files` crée les fichiers suivants sur l'instance :  
`/etc/pki/tls/certs/server.crt`  
Crée le fichier de certificat sur l'instance. *certificate file contents*Remplacez-le par le contenu de votre certificat.  
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.  
`/etc/pki/tls/certs/server.key`  
Crée le fichier de clé privée sur l'instance. *private key contents*Remplacez-le par le contenu de la clé privée utilisée pour créer la demande de certificat ou le certificat auto-signé.   
`/opt/elasticbeanstalk/hooks/appdeploy/post/99_start_httpd.sh`  
Crée un script de hook post-déploiement pour redémarrer le service httpd.

**Example .ebextensions/https-instance.config**  

```
files:
  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      certificate file contents
      -----END CERTIFICATE-----
      
  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN RSA PRIVATE KEY-----
      private key contents # See note below.
      -----END RSA PRIVATE KEY-----

  /opt/elasticbeanstalk/hooks/appdeploy/post/99_start_httpd.sh:
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      sudo service httpd restart
```

Vous devez également configurer le serveur proxy de votre environnement pour écouter sur le port 443. La configuration Apache 2.4 suivante ajoute un écouteur sur le port 443. Pour en savoir plus, veuillez consulter la section [Configuration du serveur proxy](java-tomcat-proxy.md).

**Example . ebextensions/httpd/conf.d/ssl.conf**  

```
Listen 443
<VirtualHost *:443> 
  ServerName server-name
  SSLEngine on 
  SSLCertificateFile "/etc/pki/tls/certs/server.crt" 
  SSLCertificateKeyFile "/etc/pki/tls/certs/server.key" 

  <Proxy *> 
    Require all granted 
  </Proxy> 
  ProxyPass / http://localhost:8080/ retry=0 
  ProxyPassReverse / http://localhost:8080/ 
  ProxyPreserveHost on 

  ErrorLog /var/log/httpd/elasticbeanstalk-ssl-error_log 

</VirtualHost>
```

Votre fournisseur de certificats peut inclure des certificats intermédiaires, que vous pouvez installer pour améliorer la compatibilité avec les clients mobiles. Configurez Apache avec un bundle de certificats intermédiaires en ajoutant ce qui suit à votre fichier de configuration SSL (consultez [Extension et remplacement de la configuration Apache par défaut — Amazon Linux AMI () AL1](java-tomcat-proxy.md#java-tomcat-proxy-apache) pour l'emplacement) :
+ Dans le contenu du fichier `ssl.conf`, spécifiez le fichier de chaîne :

  ```
  SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
  SSLCertificateChainFile "/etc/pki/tls/certs/gd_bundle.crt"
  SSLCipherSuite        EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  ```
+ Ajoutez une nouvelle entrée à la clé `files` avec le contenu des certificats intermédiaires :

  ```
  files:
    /etc/pki/tls/certs/gd_bundle.crt:
      mode: "000400"
      owner: root
      group: root
      content: |
        -----BEGIN CERTIFICATE-----
        First intermediate certificate
        -----END CERTIFICATE-----
        -----BEGIN CERTIFICATE-----
        Second intermediate certificate
        -----END CERTIFICATE-----
  ```

**Note**  
Évitez de valider un fichier de configuration qui contient votre clé privée de contrôle de code source. Une fois que vous avez testé la configuration et vérifié qu'elle fonctionne, stockez votre clé privée dans Amazon S3 et modifiez la configuration pour la télécharger durant le déploiement. Pour obtenir des instructions, veuillez consulter [Stockage sécurisé des clés privées dans Amazon S3](https-storingprivatekeys.md).

Dans un environnement à instance unique, vous devez également modifier le groupe de sécurité de l'instance pour autoriser le trafic sur le port 443. Le fichier de configuration suivant récupère l'ID du groupe de sécurité à l'aide d'une CloudFormation [fonction](ebextensions-functions.md) et y ajoute une règle.

**Example extensions .eb/ .config https-instance-single**  

```
Resources:
  sslSecurityGroupIngress: 
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
      IpProtocol: tcp
      ToPort: 443
      FromPort: 443
      CidrIp: 0.0.0.0/0
```

Dans un environnement à répartition de charge équilibrée, vous configurez l'équilibreur de charge pour qu'il fasse [passer le trafic sécurisé sans le toucher, soit pour le déchiffrer et le rechiffrer à](https-tcp-passthrough.md) [des fins de chiffrement](configuring-https-endtoend.md). end-to-end