Puis-je envoyer une redirection sur un domaine distinct sur HTTPS?

J'ai 2x SSL sur un server pour deux domaines différents. Je l'ai fait en faisant SSL numéro 2 point à un autre numéro de port, dans ce cas 444. Code pour apache ci-dessous:

<VirtualHost XX.XX.XX.XX:443> ServerAlias *.xxxx.com ServerName xxxx.com SSLEngine on SSLCertificateFile /usr/local/ssh/xxx/xxx.crt SSLCertificateKeyFile /usr/local/ssh/xxxx/xxxx.key DocumentRoot /var/www/www.xxxxx.com/web/ </VirtualHost> Listen 444 NameVirtualHost *:444 <VirtualHost xx.xx.xx.xx:444> ServerAlias *.yyyyyy.com ServerName yyyyyy.com SSLEngine on SSLCertificateFile /usr/bin/yyyyy.com.crt SSLCertificateKeyFile /usr/bin/yyyy.key SSLCertificateChainFile /usr/bin/yyyyy.crt DocumentRoot /var/www/www.yyyyyy.com/web/ </VirtualHost> 

À l'heure actuelle, tous mes liens indiquent https://yyyy.com:444/, de sorte que l'user ne voit aucun certificate SSL invalide. Le problème est que j'ai quelques users qui entrent simplement dans https://yyyy.com/ et n'entrent pas dans un numéro de port et ils ne devraient pas le faire.

Si je visite, https://yyyy.com/ on regarde le certificate pour xxxx.com et une erreur ssl cert est invalide. J'ai essayé plusieurs mod rewrite que si le yyyyy.com est sur le port 443 pour redirect vers https://yyyy.com:444/

Je suis sûr que la réponse est évidente … Mais pour la vie de moi, je ne peux pas le comprendre!

4 Solutions collect form web for “Puis-je envoyer une redirection sur un domaine distinct sur HTTPS?”

Cela n'est possible que si vous avez deux sous-domaines d'un domaine de niveau supérieur commun et que vous avez obtenu un certificate générique.

La raison pour laquelle cela n'est pas possible est que lorsqu'un client tape https://yyyyy.com/ (note, no 444), son browser triggers une connection TLS au process d'écoute sur le port 443. Sur ce port, le certificate et les informations de handshaking ( qui inclut le nom d'hôte du vhost par défaut lié à cette combinaison ip: port) sont échangés.

Une seule fois que la connection TLS a été établie, vous pouvez échanger la redirection au niveau HTTP 301. Mais à ce stade, le client a déjà vu les informations de certificate invalides pour https://xxxx.com .

En outre, je remarque que vous aliasing www.xxxx.com à la même vhost que xxxx.com , cela aura le même effet. Votre certificate (sauf s'il s'agit d'un caractère générique) est pour xxxx.com ou www.xxxx.com seulement.

Solutions possibles:

  • Informations sur la configuration de ApacheServer pour desservir plusieurs sites HTTPS en utilisant une adresse IP
  • Host virtuels SSL basés sur le nom: comment aborder le problème

Antoine Benkemoun, il était le cas que vous ne pouviez pas faire plusieurs SSL avec des vhosts basés sur le nom, mais l'utilisation de ports distincts contournait cette limitation.
Vous ne pouvez toujours pas utiliser GnuTLS si vous n'utilisez pas

Je vais deviner ici, mais je soupçonne que vous n'utilisez PAS GnuTLS pour votre bibliothèque ssl de servers Web et, par conséquent, ce que vous requestz, c'est la database de base et SSL et ne fonctionnera pas.

Avec SSL, un IP = un certificate. Si vous souhaitez get plusieurs certificates, obtenez une adresse IP supplémentaire. L'exception à cela est les certificates multidomaine signés pour plusieurs sous-domaines.

Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.