2017-03-07 1 views
0

J'ai une instance ec2 pointée par 2 domaines différents (.com.au et .co.nz). Cela fonctionne bien. J'essaie de configurer SSL pour les deux domaines. Actuellement, j'ai utilisé LetsEncrypt et mis en place avec succès le SSL pour le domaine co.nz, et souhaite maintenant faire la même chose pour le .com.au.Certificats SSL multiples sur une instance EC2

J'ai suivi le guide ici:

https://www.haktansuren.com/installing-free-letsencrypt-ssl-multiple-domains-sub-domains-amazon-web-services-aws-ec2-simple-way/

Mais quand je lance le site .com.au par SSLLabs.com je reçois une « erreur de non-concordance de nom de certificat » et lorsque je tente d'aller directement Pour le domaine .com.au je reçois ceci (de chrome) "Ce serveur n'a pas pu prouver qu'il est **. com.au; son certificat de sécurité est de **. co.nz." Le domaine .com.au est la deuxième entrée "hôte virtuel" dans le fichier ss.conf, et quand je change la commande, j'obtiens la même erreur pour le domaine .co.nz, donc il semble que ce soit seulement lire l'une des entrées ou quelque chose?

Merci un bouquet pour toute aide

+0

Je pense que cela est une question pour [Super User] (http://superuser.com) ou (http://serverfault.com [Défaut serveur]). Vous voudrez probablement montrer votre configuration Apache (?). Ce que vous essayez d'activer ici est appelé SNI - il permet au navigateur de dire au serveur Web quel hôte sera demandé, de sorte que le certificat correct sera offert. –

Répondre

0
  1. Vous pouvez créer un certificat gratuit pour tout domaine souhaité à l'aide ACM.
  2. Créez un Elastic Load Balancer et sélectionnez le certificat que vous venez de créer.
  3. Connectez l'instance EC2 Elastic Load Balancer

La meilleure pratique est de créer une configuration de lancement et de créer un groupe Auto Scaling et laissez la création de la poignée d'ASG des instances EC2. Dans AWS, vos instances peuvent être supprimées à tout moment. Il n'est pas recommandé de s'appuyer sur une seule instance EC2. Vous pouvez le perdre soudainement avec toutes les données que vous pourriez avoir stockées dans le stockage éphémère!

0

En cas d'Apache: l'architecture

Vous pouvez mettre fin à des certificats SSL soit au niveau

ELB ou Apache/Nginx (serveur) En cas de multi-locataire (multi-client), nous devrons peut-être prendre en charge différents clients (avec des domaines différents - * .abc.com, * .xyz.com) sous un seul ELB, qui ne fonctionnera pas dans une configuration ELB existante.

Solution: Vous pouvez le faire en ajoutant des écouteurs dans ELB comme ci-dessous: TCP 443 (au lieu de HTTPS - 443) - cela passera par les 443 demandes Ensuite, vous pouvez résilier les certificats SSL au niveau du serveur

Vous devez acheter le certificat auprès de fournisseurs externes (comme GoDaddy) et installer & pour terminer les certificats au niveau du serveur.

Par exemple, hôte virtuel Apache ressemble

NameVirtualHost *:443 
<VirtualHost *:443> 
     ServerName abc.com 

     ####abc HTTPS Certificate 
     SSLEngine on 
     SSLCertificateFile /opt/organization/site/ssl_keys/abc/abc_gd.crt 
     SSLCertificateKeyFile /opt/organization/site/ssl_keys/abc/abc.pem 
     SSLCertificateChainFile /opt/organization/site/ssl_keys/abc/abc_gd_bundle.crt 

     WSGIScriptAlias//opt/organization/site/deployment-config/abc.wsgi 

     ServerSignature On 
     Alias /media/ /opt/organization/site/media/ 
     <Directory /opt/organization/site/media/> 
     Order deny,allow 
     Allow from all 
     </Directory> 
</VirtualHost> 

NameVirtualHost *:80 
<VirtualHost *:80> 
     ServerName abc.com 

     #Rewrite to HTTPS in case of HTTP 
     RewriteEngine On 
     RewriteCond %{SERVER_NAME} abc.com 
     RewriteCond %{HTTP:X-Forwarded-Proto} !https 
     RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

     WSGIScriptAlias//opt/organization/site/deployment-config/abc.wsgi 
     ServerSignature On 
     Alias /media/ /opt/organization/site/media/ 
     <Directory /opt/organization/site/media/> 
     Order deny,allow 
     Allow from all 
     </Directory> 
</VirtualHost>