Petite question : ces 2 virtualhosts sont les seuls ?
Dans ce cas, je crois qu'Apache, lorsqu'il ne trouve pas de ServerName correspondant parmi les VirtualHost IP:PORT de la connexion, renvoie le premier trouvé.
Et comme A est le seul sur le port 80, et B le seul sur le port 443, ils seront toujours renvoyés pour les connexions sur chacun de ces ports.
Une astuce qui me vient à l'esprit serait de faire une redirection systématique :
(après la def. de B)
<VirtualHost 1.2.3.4:80>
ServerName b.domaine.fr
Redirect / https://b.domaine.fr/
</VirtualHost>
(après la def. de A)
<VirtualHost 1.2.3.4:443>
ServerName a.domaine.fr
Redirect / http://a.domaine.fr/
</VirtualHost>
[^] # Re: virtualhost sur IP:PORT
Posté par nullard3d . En réponse au message Reverse Proxy avec Apache. Évalué à 1.
Dans ce cas, je crois qu'Apache, lorsqu'il ne trouve pas de ServerName correspondant parmi les VirtualHost IP:PORT de la connexion, renvoie le premier trouvé.
Et comme A est le seul sur le port 80, et B le seul sur le port 443, ils seront toujours renvoyés pour les connexions sur chacun de ces ports.
Une astuce qui me vient à l'esprit serait de faire une redirection systématique :
(après la def. de B)
<VirtualHost 1.2.3.4:80>
ServerName b.domaine.fr
Redirect / https://b.domaine.fr/
</VirtualHost>
(après la def. de A)
<VirtualHost 1.2.3.4:443>
ServerName a.domaine.fr
Redirect / http://a.domaine.fr/
</VirtualHost>
Plus d'infos :
http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
Mais ça risque de ne pas marcher très bien dans le sens https->http à cause de :
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts
Si tu trouves une autre astuce, ça m'intéresse, n'hésite pas à la signaler.
Bien joué pour le port dans le ServerName, je ne connaissais pas non plus :)
http://httpd.apache.org/docs/2.1/mod/core.html#servername