Хостинг. Хочу включить редирект на https

murr
7 років
0

В панели управления сайта включено кэширование для статики js, css и пр. Там же " При запросе файла с расширением, добавленным в статические не производится обработка .htaccess - то есть mod_rewrite и mod_expires для этих файлов не работают."

Хочу сделать вход в админку (mysite.com.ua/admin) по https.

В настройке SSL создал самоподписанный сертификат. Выделенного IP само-собой нет.

Пробую заходить через http и https - нормально.

Пробовал сделать в .htaccess в папке admin принудительный редирект с http на https - работает с непредсказуемым результатом.

Правильно ли я понимаю, что есть смысл отключить кэширование в панели управления и рулить всем (и редиректом и кэшированием) через htaccess? Nginx - он как, корректно поймет мои действия?

vasylevych
7 років
0

Уточните, пожалуйста, подробнее, как именно проявляется непредсказуемость работы административной панели по https?

murr
7 років
0

Админка имелась в виду "админка сайта", а не панель управления хостинга. Непредсказуемость выражается в том, что насколько могу судить .htaccess тоже каким-то образом кэшируется.

Нахожу рецепт переадресации, создаю .htaccess с этим содержимым, открываю админку, жму несколько раз ctrl+F5 в браузере, наблюдаю в "переадресация не может завершиться(бла-бла-бла)....", "ну наверно что-то не так понял", удаляю .htaccess. Снова жму ctrl+F5 и снова вижу ".. не может завершиться....".

Закрыть/открыть браузер, чистить кэш - о, вроде все вернулось. Т.е. когда я правлю конфиги скрипта, когда экспериментирую с .htaccess - нет уверенности, что сервер обрабатывает именно те файлы, с которыми я только что поработал. И где мой косяк - в правленных конфигах скрипта или в кривом .htaccess - не понять.

Не считаю себя специалистом, поэтому и уточняю целесообразность выключить кэширование в панели управления сайтом хостинга и настроить все в .htaccess (хотя насколько понимаю Nginx работает с .htaccess весьма по своему, если вообще работает).

murr
7 років
0

Полопатив инет пришел к выводу, что для автопереадресации http -> https (как и боялся) нужно править не только htaccess, но и конфиги nginx-a.

Как сказано более доходчиво здесь firstwiki.ru/index.php/%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_Apache_%D0%B8_Nginx

"При использовании связки Nginx+Apache будет возникать ошибка циклической переадресации. Поэтому редирект нужно будет настраивать именно в Nginx".

А именно этот эффект зацикливания в процессе экспериментов у меня наблюдался постоянно.

В общем, "Ой".

eugen
7 років
0

Чтобы не было необходимости править конфигурацию nginx в таких случаях мы передаем заголовок запроса "SSL: 1" в случае, если запрос пришел по https. Правила в .htaccess нужно строить на его основании. Вот пример, как настроить редирект на https всего сайта или определенного каталога: Как сделать так, чтоб сайт работал только с SSL шифрованием?

До недавних пор такая настройка работала только при использовании выделенного IP, а со вчерашнего дня работает и при использовании ssl на общем IP адресе. Также была добавлена поддержка переменной $_SERVER['HTTPS'], которую ряд популярных CMS используют для определения того, что запрос пришел по защищенному соединению.

Если не получится настроить - напишите нам в службу поддержки, поможем.

murr
7 років
0

Спасибо за оперативную помощь. Правда. Есть чем сравнить.

Пример из FAQ не помог, но вроде заработала классическая конструкция вида

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*)$ %{SERVER_NAME}/%{REQUEST_URI}$1 [L,R]

Тема закрита.