web-dev-qa-db-fra.com

Configuration de SSL avec des hôtes virtuels sous Apache et CentOS

J'ai deux sites Web servis à partir d'une instance CentOS. L'un d'eux a SSL activé, l'autre est juste servi sur le port 80.

Donc, http://siteone.com et https://siteone.com les deux fonctionnent bien, tout comme http://sitetwo.com.

Le problème est que https://sitetwo.com affiche https://siteone.com.

J'ai une adresse IP publique disponible.

Je pense que c'est le cas que je ne peux pas servir deux sites https à partir d'une adresse IP, mais existe-t-il au moins un moyen de rediriger https vers le port 80 pour https://sitetwo.com au lieu de servir le mauvais site?

Sudo apachectl -S
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:

▽
xxx.xxx.xxx.xxx:443     siteone.com (/etc/httpd/sites-enabled/ssl-siteone.conf:1)
*:80                   is a NameVirtualHost
         default server beta-siteone (/etc/httpd/sites-enabled/beta-siteone.conf:1)
         port 80 namevhost beta-ilegis (/etc/httpd/sites-enabled/beta-siteone.conf:1)
                 alias beta.siteone.com
         port 80 namevhost siteone.com (/etc/httpd/sites-enabled/siteone.conf:1)
                 alias www.siteone.com
         port 80 namevhost sitetwo.com (/etc/httpd/sites-enabled/sitetwo.com.conf:1)
                 alias www.sitetwo.com
*:443                  is a NameVirtualHost
         default server xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost xxx.xxx.xxx.xxx (/etc/httpd/sites-enabled/ssl-sitetwo.com.conf:1)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="Apache" id=48
Group: name="Apache" id=48
11
gtcaz

Deux https peuvent être servis dans une IP. Il vous suffit de vérifier que la configuration de l'hôte virtuel fonctionne.

Êtes-vous sûr que votre virtualhost fonctionne? Vous pouvez utiliser cette configuration dans le site disponible.

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/requests.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example2.com
    DocumentRoot /var/www/example2.com/public_html
    ServerAlias example2.com
    ErrorLog /var/www/example2.com/error.log
    CustomLog /var/www/example2.com/requests.log combined
</VirtualHost>

Suivez le tutoriel ici

Si vous êtes sûr de votre configuration d'hôte virtuel, vous pouvez modifier la configuration comme ceci:

<VirtualHost *:443>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/requests.log combined
    SSLEngine on
    SSLCertificateFile /etc/Apache2/ssl/example/Apache.crt
    SSLCertificateKeyFile /etc/Apache2/ssl/example/Apache.key
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example2.com
    DocumentRoot /var/www/example2.com/public_html
    ServerAlias example2.com
    ErrorLog /var/www/example2.com/error.log
    CustomLog /var/www/example2.com/requests.log combined
    SSLEngine on
    SSLCertificateFile /etc/Apache2/ssl/example2/Apache.crt
    SSLCertificateKeyFile /etc/Apache2/ssl/example2/Apache.key
</VirtualHost>

Vous pouvez peut-être vous référer à this pour le tutoriel ssl.

Et enfin, vous pouvez accéder à votre site Web comme ceci
https://example.com
https://example2.com

18
akhfa