2016-05-22 3 views
1

J'ai un compte dans Jelastic et je veux forcer mon site à travailler uniquement sur https. J'ai créé l'environnement nginx + php avec nginx balancer et activé SSL de Jelastic (tel que décrit here).Jelastic Nginx http à https rediriger

Chaque fois que j'ai essayé de configurer la redirection 301 de http à https sans aucune chance. Utiliser mod_rewrite n'a pas fonctionné pour moi, la seule chose que j'ai est une redirection de boucle. Google n'a pas aidé.

J'ai vraiment besoin de conseils. Toute information supplémentaire sera fournie.

Merci d'avance.

Répondre

1

En effet, lorsque vous activez Jelastic SSL (signifie que vous ne pouvez pas utiliser IP publique), les résolveurs partagés traitent toutes les requêtes sur votre serveur mais entre le résolveur et votre serveur les requêtes ne sont pas https. Donc, avec la redirection, vous avez essayé de configurer, votre serveur a redirigé les requêtes http entrantes vers https et les a renvoyées à resolver, comme résultat vous avez une redirection de boucle.

Vous devez effectuer quelques opérations simples pour résoudre ce problème. Connexion au tableau de bord, les paramètres ouverts pour équilibreur nginx

enter image description here

Accédez à nginx-jelastic.conf sous/conf

enter image description here

et ajoutez le code dans le fichier de configuration:

# force https-redirects 
     if ($http_X_Forwarded_Proto = http) { 
       return 302 https://$host$request_uri; 
     } 

enter image description here

N'oubliez pas d'appuyer sur le bouton "Enregistrer" et de redémarrer le nginx après la configuration.

+0

Merci beaucoup, cela a fait l'affaire. Ça marche!!! – JDF

+0

vous avez sauvé ma journée, merci beaucoup – bluegaspode

1

Si vous utilisez Jelastic SSL, cela signifie que vous avez déchargé SSL sur les résolveurs Jelastic partagés = toutes les demandes envoyées à votre serveur sont http (pas http/https).

Vous devez vérifier l'en-tête X-Forwarded-Proto pour identifier les demandes qui étaient à l'origine https.

0

Всем привет) avec le domaine ssl cette variante fonctionne très bien

if ($scheme = "http") { rewrite ^(.*)$ https://$host$1 last; }