1 votes

SSL : le même contenu sur plusieurs domaines

J'ai mis en place un serveur Debian LAMP où j'héberge plusieurs sites web. Pour autant que je sache, je ne peux utiliser SSL que sur l'un d'entre eux. Si je souhaite utiliser SSL sur deux sites ou plus, je dois ajouter une autre IP - jusqu'ici tout va bien.

Le problème est qu'à chaque fois que je tape https://siteone.com o https://sitetwo.com il affiche toujours le contenu de : https://siteone.com . Je préférerais qu'il affiche un message d'erreur ou autre chose, mais absolument pas le contenu de mon site principal (qui est l'endroit où je veux que le SSL fonctionne).

Remarque : mon serveur web Debian utilise ispconfig comme panneau de contrôle.

2voto

Brigand Points 135

1 votes

Xabier posait une question sur un cas avec plusieurs adresses IP.

0 votes

@StephenOstermiller, il a déclaré : "Pour autant que je sache [...], il faudrait ajouter une autre IP." J'ai interprété "avoir" comme "être obligé de", et qu'une seule IP serait la meilleure. Aussi, parce que les IP supplémentaires entraînent une charge supplémentaire dans 99,99 % des cas.

0 votes

En fait, j'essayais de dire que je ne veux pas installer un ip supplémentaire :-)

2voto

anthony-dandrea Points 143

Assurez-vous que vos hôtes virtuels sont correctement configurés de sorte que chaque hôte virtuel ne se lie qu'à une seule adresse IP. Le site Documentation Apache pour l'hébergement virtuel basé sur IP indique que vos hôtes virtuels doivent ressembler à ce qui suit :

<VirtualHost 192.168.0.1:443>
ServerAdmin webmaster@smallco.example.com
DocumentRoot /groups/smallco/www
ServerName smallco.example.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>

<VirtualHost 192.168.0.2:443>
ServerAdmin webmaster@baygroup.example.org
DocumentRoot /groups/baygroup/www
ServerName baygroup.example.com
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>

Le premier hôte virtuel listé dans votre configuration apache est celui par défaut. Ajoutez-en un faux avant les deux premiers pour vous assurer que vous faites bien correspondre vos hôtes virtuels et que vous ne vous contentez pas de suivre aveuglément le premier. Voici un article plus complet d'IBM sur une telle configuration : http://www-01.ibm.com/support/docview.wss?uid=swg21045922

0 votes

C'est la façon dont il a été configuré, en fait cela est écrit par ISPConfig. Tous les fichiers .vhost sont sous /etc/apache/sites-enabled et correspondent à cette structure.

0 votes

Le lien vers 000-default-ssl dans /etc/apache2/sites-enabled n'a pas été créé. Je viens de créer ce lien et de modifier <VirtualHost par défaut :443> à <VirtualHost myip:443> et cela a fonctionné avec succès ! Votre réponse ne répond pas exactement mais elle m'a beaucoup aidé. Merci pour votre réponse

2voto

bob Points 46

Si les conseils de Stephen ne vous conviennent pas, assurez-vous que vous avez également la ligne suivante dans votre fichier de configuration apache :

NameVirtualHost *:443

Aussi, FRB a raison. Vous pouvez avoir SSL sur autant de ces machines virtuelles que vous le souhaitez. Il suffit de placer les informations de configuration SSL dans le fichier <VirtualHost></VirtualHost> bloc de code.

Quelque chose comme ceci (notez également qu'il n'est pas nécessaire de se lier à des IP spécifiques lorsque vous utilisez des hôtes nommés) :

## SSL (HTTPS) PORT 443
Listen 443
NameVirtualHost *:443

LoadModule ssl_module modules/mod_ssl.so
SSLPassPhraseDialog  builtin
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

<VirtualHost *:443>
  ServerName host1.com

  SSLEngine on
  SSLOptions +StrictRequire
  SSLProtocol -all +TLSv1 +SSLv3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
  SSLCertificateFile    /etc/httpd/ssl/host1.crt
  SSLCertificateKeyFile /etc/httpd/ssl/host1.key
  SSLVerifyClient none
  SSLProxyEngine off

  SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

  DocumentRoot /var/www/host1/

  <Directory "/var/www/host1/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order Allow,deny
    Allow from all
  </Directory>

</VirtualHost>

<VirtualHost *:443>
  ServerName host2.com

  SSLEngine on
  SSLOptions +StrictRequire
  SSLProtocol -all +TLSv1 +SSLv3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
  SSLCertificateFile    /etc/httpd/ssl/host2.crt
  SSLCertificateKeyFile /etc/httpd/ssl/host2.key
  SSLVerifyClient none
  SSLProxyEngine off

  SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

  DocumentRoot /var/www/host2/

  <Directory "/var/www/host2/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order Allow,deny
    Allow from all
  </Directory>

</VirtualHost>

1voto

Alastair Irvine Points 1122

Vous pouvez en fait faire plusieurs sites SSL sur la même adresse IP, sans utiliser SNI. Le problème (principal) est que vous devez utiliser le même certificat, qui doit avoir tous les domaines requis comme Subject Alternative Names. (L'implication est que tous les sites sont destinés à la même organisation.

Apache2 gère SSL en deux phases. La première phase consiste à vérifier la présence de l'instruction "SSLEngine on" dans le (premier) bloc de virtualhost par défaut de l'adresse IP, puis à lancer la connexion SSL. La deuxième phase consiste à vérifier les directives ServerName/ServerAlias jusqu'à ce que le serveur virtuel correct soit identifié.

Vous n'avez donc pas besoin de dupliquer les directives SSL* dans chaque hôte virtuel, mais cela permet d'attirer l'attention des gens sur le fait qu'il s'agit d'un site SSL. (Sinon, ils devraient remarquer le numéro de port).

Le problème secondaire est qu'un avertissement sera ajouté à error_log chaque fois qu'Apache démarrera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X