2017-05-05 2 views
0

Actuellement, mon serveur a un site Web fonctionnant sur https/ssl. La chose est quand j'active un second vhost, également avec https/ssl, le premier site que j'ai en cours d'exécution utilise maintenant le cert ssl du nouveau site web.Plusieurs caractères génériques SSL sur 1 IP

J'ai essayé de mettre les deux sites Web dans un seul fichier vhost, ne fonctionnait pas alors j'ai fait 2 fichiers séparés à la place.

Voici mes fichiers de configuration vhost:

(les nommer websiteZ et site web Y en raison de l'ordre alfabetical ils sont)

vhost site de fonctionnement actuel .conf

<VirtualHost *:80> 
ServerAlias *.websiteZ.nl 
Redirect 301/https://websiteZ.nl 
</VirtualHost> 

NameVirtualHost *:443 

<IfModule mod_ssl.c> 
<VirtualHost *:443> 
    ServerName www.websiteZ.nl 
    DocumentRoot "/var/www/html/websites/websiteZ.nl/public" 
    <Directory "/var/www/html/websites/websiteZ.nl/public"> 
     Require all granted 
     Options Includes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
    SSLEngine On 
    SSLCertificateFile /etc/apache2/ssl/websiteZ.nl/certificate.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/websiteZ.nl/certificate.key 
    SSLCertificateChainFile /etc/apache2/ssl/websiteZ.nl/cabundle.crt 
</VirtualHost> 
</IfModule> 

nouveau site Web avec ssl .conf

<VirtualHost *:80> 
    ServerName websiteY.nl 
    ServerAlias www.websiteY.nl 
    RewriteEngine On 
    RewriteCond %{SERVER_PORT} !443 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] 
    RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L] 
    DocumentRoot "/var/www/html/websites/websiteY.nl/public/" 
    <Directory "/var/www/html/websites/websiteY.nl/public/"> 
     Require all granted 
     Options Includes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

<IfModule mod_ssl.c> 
<VirtualHost *:443> 
    ServerName www.websiteY.nl 
    DocumentRoot "/var/www/html/websites/websiteY.nl/public" 
    <Directory "/var/www/html/websites/websiteY.nl/public"> 
     Require all granted 
     Options Includes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
SSLStrictSNIVHostCheck on 
    SSLEngine On 
    SSLCertificateFile /etc/apache2/ssl/websiteY.nl/certificate.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/websiteY.nl/certificate.key 
    SSLCertificateChainFile /etc/apache2/ssl/websiteY.nl/cabundle.crt 
</VirtualHost> 
</IfModule> 

ports.conf

NameVirtualHost *:80 
NameVirtualHost *:443 

Listen 80 

<IfModule mod_ssl.c> 
    Listen 443 
</IfModule> 

<IfModule ssl_module> 
     Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
     Listen 443 
</IfModule> 

Je levai les yeux la chose SNI, mais je pense que je manque quelque chose. La façon dont je le comprends est que je dois utiliser NameVirtualHost pour le faire fonctionner.

Le serveur est en cours d'exécution sur AWS ECE2 avec Ubuntu 16.04.2

Les occors problème quand je tape dans le terminal:

a2ensite websiteY.conf 

Quand je fais cela websiteZ perdra est https cert et affiche une grande croix rouge qui dit: NON SECURISE! Lorsque vous cliquez pour continuer, il y a des liens vers le site WebY

Je suis un peu à court d'options, quelqu'un peut-il m'aider? Merci!

+0

Quel problème se produit lorsque vous tapez dans le terminal 'a2ensite websiteY.conf'? –

+0

Merci, j'ai édité le post avec: "Quand je fais ce siteZZ va perdre son https cert et montrera une grande croix rouge qui dit: NON SECURISE! Lorsque vous cliquez pour continuer, il lie à websiteY" –

+0

Quoi ** exactement ** est-ce que vous tapez dans la barre d'adresse de votre navigateur lorsque vous essayez d'accéder à websiteZ? –

Répondre

0

Lorsque vous entrez www.websiteZ.nl sans https, la demande sera d'abord pris par

<VirtualHost *:80> 
ServerAlias *.websiteZ.nl 
Redirect 301/https://websiteZ.nl 
</VirtualHost> 

et donc redirigé vers https://websiteZ.nl

Étant donné qu'aucun de vos :443 hôtes virtuels n'a ni ServerName ou ServerAlias configuré avec websiteZ.nl, alors celui du premier fichier .conf par ordre alphabétique sera utilisé, qui est dans ce cas celui avec websiteY cert.

+0

Vous monsieur, êtes un héros. Je ne peux pas croire que j'ai raté ça! Ça marche. –