2016-05-22 3 views
1

У меня есть учетная запись в Jelastic, и я хочу заставить мой сайт работать только по https. Я создал среду nginx + php с балансиром nginx и включил Jelastic SSL (как описано here).Jelastic Nginx http to https redirect

Всякий раз, когда я пытался настроить 301 переадресацию с http на https без везения. Использование mod_rewrite не сработало для меня, единственное, что у меня есть, - это перенаправление цикла. Google не помог.

Мне действительно нужно посоветовать. Любая дополнительная информация будет предоставлена.

Заранее спасибо.

ответ

1

Действительно, если вы разрешаете использовать Jelastic SSL (означает, что вы не можете использовать общедоступный IP), общие разрешители обрабатывают все запросы на ваш сервер, но между resolver и вашими запросами сервера не являются https. Таким образом, с перенаправлением вы пытались настроить, ваш сервер перенаправлял входящие HTTP-запросы на https и отправлял их обратно в resolver, в результате у вас есть перенаправление цикла.

Чтобы решить эту проблему, вам необходимо выполнить несколько простых шагов. Вход на приборной панели, откройте настройки Nginx балансира

enter image description here

Перейдите к Nginx-jelastic.conf в/конф

enter image description here

и добавить код в файл конфигурации:

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

enter image description here

Не забудьте нажать кнопку «Сохранить» и перезапустить nginx после того, как была выполнена настройка.

+0

Спасибо большое, это сделал трюк. Работает!!! – JDF

+0

вы спасли мой день, большое спасибо – bluegaspode

1

Если вы используете Jelastic SSL, это означает, что у вас есть разгрузка SSL на общих разрешениях Jelastic = все запросы на ваш сервер составляют http (не http/https).

Вам нужно проверить заголовок X-Forwarded-Proto, чтобы определить, какие из запросов были первоначально https.

0

Всем привет) С домена SSL этот вариант работает просто отлично

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