Question

Quelle est la meilleure façon de façon transparente réécrire une URL via une connexion SSL avec Apache 2.2?

Apache 2 ne supporte pas nativement plusieurs serveurs virtuels par nom pour une connexion SSL et j'ai entendu dire que le mod_rewrite peut vous aider avec ceci.Je voudrais faire quelque chose comme ceci:

J'ai configuré le serveur pour que les sites peuvent être consultés par

https://secure.example.com/dbadmin

mais je voudrais avoir ce que https://dbadmin.example.com

Comment puis-je le configurer de sorte que la règle de Réécriture de réécrire l'dbadmin.example.com pour secure.example.com/dbadmin mais sans l'affichage de la réécriture sur le client de la barre d'adresse (c'est à direle client reste juste à voir dbadmin.example.com), partout en https?

Était-ce utile?

La solution

Configurer un VirtualHost pour servir à la fois secure.example.com et dbadmin.example.com (en faisant le seul *:443 VirtualHost réalise ce).Vous pouvez ensuite utiliser mod_rewrite pour régler l'URI pour les demandes de dbadmin.example.com:

<VirtualHost *:443>
    ServerName secure.example.com
    ServerAlias dbadmin.example.com

    RewriteEngine on
    RewriteCond %{SERVER_NAME} dbadmin.example.com
    RewriteRule !/dbadmin(.*)$ /dbadmin$1
</VirtualHost>

Votre certificat SSL devra être valable pour les deux secure.example.com et dbadmin.example.com.Il peut être un certificat générique, comme mentionné par Terry Lorber, ou vous pouvez utiliser l' subjectAltName champ pour ajouter d'autres noms d'hôte.

Si vous rencontrez des problèmes, d'abord l'installer sur <VirtualHost *> et vérifier qu'il fonctionne sans SSL.La connexion SSL et certificat est séparée de la couche de complexité que vous pouvez mettre en place après l'URI de réécriture est de travail.

Autres conseils

À moins que votre certificat SSL est le "joker" ou multi-sites genre, alors je ne pense pas que cela va fonctionner.La réécriture s'affiche dans le navigateur et le nom dans la barre d'adresse doit être valide sur le certificat, ou vos utilisateurs ont accès à une erreur de sécurité (ce qui peut toujours accepter et continuer, mais cela ne ressemble pas à ce que vous souhaitez).

Plus ici.

Il y a de apache mod_rewrite, ou vous pouvez configurer apache pour diriger https://dbadmin.example.com chemin/vers/exemple.com/dbadmin sur le serveur

<VirtualHost *>
ServerName subdomain.domain.com
DocumentRoot /home/httpd/htdocs/subdomain/
</VirtualHost>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top