Nous avons un serveur client hébergeant notre application Web à l'aide de Apache 2.2 & Tomcat 6 dans Rhel. J'ai configuré la règle Apache Re-Write pour HTTP à la redirection HTTPS et cela fonctionne bien. Nous avons deux noms DNS utilisés pour accéder à la même application. Test1.com et test2.com. Je souhaite que tous les utilisateurs essayent d'accéder à http: // test1.com ou https: // test1.com à https: // test2.com. Comme mentionné, http: // test1.com à https: // test2.com La redirection fonctionne bien. Je ne suis pas capable d'implémenter https://test1.com à https://test2.com . p>
J'ai essayé des hôtes virtuels, Serveralias, NomVirtualHost, mais rien ne fonctionne. Toute suggestion si nous pouvons gérer cela via une réécriture aiderait. Tous les autres pointeurs pouvant conduire à la résolution de cette question seront appréciés. p>
merci p>
4 Réponses :
Essayez ce qui suit: si vous avez un
: 80 code> et
: 443 < / code>, cette redirection devrait aller dans les deux configurations. p> p>
Thx pour la suggestion, mais cela n'a pas fonctionné. Nous avons SSL CERT pour 2ND Domaine mais pas pour 1st One.So Lorsque j'accède au 1er domaine à l'aide de HTTPS, il lance un avertissement de sécurité.Je souhaite rediriger vers la 2e Domaine, peu importe HTTP ou HTTPS.
@Noman Amir: C'est AFaik non possible car la redirection est effectuée sur la couche HTTP, tandis que SSL fonctionne sur le calque ci-dessous. Par conséquent, avant que la redirection puisse être effectuée, la couche SSL doit avoir établi une connexion - et il en résulte l'avertissement de sécurité.
@ROBERT: Même si c'est décevant, vraiment merci pour l'info! Y a-t-il une possibilité que je puisse rediriger après l'avertissement de sécurité?
J'ai eu site1 avec https (certificat) et site2 avec http (sans certificat), tous deux sur la même adresse IP (hôtes virtuels. Ensuite, j'ai noté que Site2 n'était pas indexé de manière incorrecte par Google pour HTTPS, à l'aide du contenu de Site1.
tandis que pour la réécriture d'écoute p>
Mais alors la discrimination ne passe plus par port, mais par http_host (nom DNS). P>
pour moi, site1 = shop.smartgart.com, site2 = one0.com.
Je mets ceci dans Site1's .htaccess: p> c'est: si le Http_Host étant géré n'est pas Site1, puis redirige sur Site1, à l'aide du suffixe fourni (1 $). p> fonctionne pour moi! p> p>
J'ai résolu ce problème avec Redirection, mais je devais configurer un hôte virtuel pour rediriger HTTPS avec tous les paramètres SSL nécessaires.
<VirtualHost *:80> ServerName test1.com Redirect "/" "https://test2.com/" </VirtualHost> <VirtualHost *:443> ServerName test1.com Redirect "/" "https://test2.com/" SSLEngine on # SSLProxyEngine On SSLCertificateFile /path/site.crt SSLCertificateKeyFile /path/site.key SSLCertificateChainFile /path/DigiCertCA.crt SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH </VirtualHost> <VirtualHost *:443> ServerName test2.com ... SSLEngine on # SSLProxyEngine On SSLCertificateFile /path/site.crt SSLCertificateKeyFile /path/site.key SSLCertificateChainFile /path/DigiCertCA.crt SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH </VirtualHost>
S'il vous plaît marquer cette réponse comme vrai. Ça marche absolument.
C'est une réponse correcte. À mon avis, vous ne pouvez pas rediriger https sans certificat valide pour les deux sites avec de simples Apach
Bien que je conviens que cela est vrai, il n'est pas applicable dans tous les cas. Dans mon cas, nous n'utilisons plus SITE2.COM et souhaitons que tout trafic légitime soit redirigé vers
J'ai résolu ce problème avec plusieurs redirections, pas la même chose que la réponse de @a Kunin.
Parce que j'utilise différents certificats pour les deux sites, et cela signalera une erreur de certificat si je viens de rediriger de Ma solution est la suivante: https://test1.com code> à
https://test2.com code>.
https://test1.com code> ->
http://test1.com code> ->
https: // test2. com code> p>
L'étape entre les deux est complètement inutile, il ne perturbe que les demandes cryptées. Et la pire chose, l'utilisateur ne remarque même pas que sa connexion n'a pas été cryptée pour une étape.
Comment faites-vous actuellement la redirection pour
http://test1.com code> à
https://test2.com code>?
J'utilise la règle de réécriture de réécriture comme suit: rewriteEngine sur rewriteCond% {https} de rewriterule ^ (. *) $ Https: // test2.com 1 $ [r = 301]