Автор Тема: Проблемы в настройке SSL-сертификата. [Решено]  (Прочитано 2413 раз)

01 Июня 2016, 10:40:51
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Приветствую. Пару дней назад активировал и установил SSL-сертификат, однако столкнулся с рядом проблем:

1. В админке престы (версия 1.6.1.5, сайт https://opt-nstyle.ru/) не были активны "Включить SSL" и "Включить SSL на всех страницах". Проверка поддержки SSL просто обновляла страницу и ничего не происходило.

Включил флажок принудительно через PS_SSL_ENABLED 1 в бд. Админка перезагрузилась без ошибок. Однако при попытке "Включить SSL на всех страницах" на любой странице сайта выскакивает ошибка "Сайт opt-nstyle.ru выполнил переадресацию слишком много раз".

2. Невозможно добавить товар в корзину. Выскакивает ошибка.

3. Начиная с главной страницы сайта присутствуют конфликты сертификата типа Mixed Content: The page at 'https://opt-nstyle.ru/' was loaded over HTTPS, but requested an insecure image 'http://opt-nstyle.ru/modules/blockbanner/img/cf508190593c3126378e27d68d0a9711.png'. This content should also be served over HTTPS.

Большинство конфликтов именно с изображениями, которые грузятся по http.

Буду благодарен за помощь.

П.с. Я плохо разбираюсь во всем этом. Огромная просьба, в ответах типа "редактируйте шаблоны, модули" посоветуйте, пожалуйста, немного конкретики "что редактировать и в каких директориях".
01 Июня 2016, 10:49:28
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 2158
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Ничего редактировать не нужно, если ты не менял шаблоны.
Протокол HTTPS подставляется атоматом при включении опции "Включить SSL на всех страницах".
Если у тебя в админке она не активируется, значит сервер настроен неправильно. Проверять нужно настройки сертификата.
01 Июня 2016, 11:03:02
Ответ #2
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон дефолтный. Тех. поддержка хостинга указала на исправность установки сертификата.
01 Июня 2016, 11:20:59
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2158
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Отключи кеширование, ККК отключи. Включи компиляцию. Нужно кеш очистить.
Отключи ЧПУ.
01 Июня 2016, 11:28:14
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 20837
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
У вас проблемы с формированием URL. Сертификат установлен. Первая страница открывается с HTTPS.
Но у стилей/ скриптов/изображений протокол HTTP. Нужно изменить во всех шаблонах темы и модулей
{$base_dir}На
{$base_dir_ssl}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Июня 2016, 11:34:14
Ответ #5
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Отключи кеширование, ККК отключи. Включи компиляцию. Нужно кеш очистить.
Отключи ЧПУ.

Кэш и ККК были выключены. Кэш очистил, перекомпилировал, чпу выключил - не помогло.

У вас проблемы с формированием URL. Сертификат установлен. Первая страница открывается с HTTPS.
Но у стилей/ скриптов/изображений протокол HTTP. Нужно изменить во всех шаблонах темы и модулей
{$base_dir}На
{$base_dir_ssl}

Благодарю. Какие типы файлов и в каких директориях редактировать?
01 Июня 2016, 11:39:15
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 20837
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Все шаблоны TPL в папке темы и модулей.
Быстро можно сделать так, поиск по содержимому файлов в папке где установлен prestashop. Или искать все файлы с расширением TPL в них искать  {$base_dir} и заменять на {$base_dir_ssl}.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Июня 2016, 12:17:23
Ответ #7
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1. Отключил SSL в админке.
2. Отключил ЧПУ.
2. Снес .htaccess.
3. В папках /theme и /modules во всех .tpl заменил {$base_dir} / {$img_dir} на {$base_dir_ssl} / {$img_dir_ssl}
4. В админке включить SSL не получилось - проверка HTTPS - просто обновление страницы. Включил флажок вручную через бд.
5. Включил SSL на всех страницах - "Сайт opt-nstyle.ru выполнил переадресацию слишком много раз"
6. Включил ЧПУ - то же самое.

Проблема не решена. Что я сделал не так?
01 Июня 2016, 12:21:32
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 13126
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
"Сайт opt-nstyle.ru выполнил переадресацию слишком много раз"
Такая ошибка из-за редиректа при включенном чпу. Когда чпу выключено не должно ее быть.
На время тестирования лучше отключить чпу, потом с правилами редиректа разбираться, когда сделаете основное.
Тоже самое с кешированием, нужно отключить. 
01 Июня 2016, 12:27:37
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 13126
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас в шаблонах везде протокол HTTP.
В базе данных в ps_configuration значение у PS_SSL_ENABLED 1?
01 Июня 2016, 12:36:04
Ответ #10
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
"Сайт opt-nstyle.ru выполнил переадресацию слишком много раз"
Такая ошибка из-за редиректа при включенном чпу. Когда чпу выключено не должно ее быть.
На время тестирования лучше отключить чпу, потом с правилами редиректа разбираться, когда сделаете основное.
Тоже самое с кешированием, нужно отключить.

ЧПУ отключил, кэширование было выключено. Ошибка "Сайт opt-nstyle.ru выполнил переадресацию слишком много раз." при включенном SSL на всех страницах в админке осталась.

У вас в шаблонах везде протокол HTTP.
В базе данных в ps_configuration значение у PS_SSL_ENABLED 1?

Да. Через админку включить SSL не получается при PS_SSL_ENABLED 0

У вас в шаблонах везде протокол HTTP.

Не подскажете, как это исправить?
01 Июня 2016, 12:43:23
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 20837
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
У вас пробоемы с настройками. Где и что менять трудно сказать, нужно смотреть все настройки сайта и хостинга. Но есть простой способ, измените протокол в файле - /classes/controller/FrontController.php.
Находите код
$protocol_link = (Configuration::get('PS_SSL_ENABLED') || Tools::usingSecureMode()) ? 'https://' : 'http://';
$useSSL = ((isset($this->ssl) && $this->ssl && Configuration::get('PS_SSL_ENABLED')) || Tools::usingSecureMode()) ? true : false;
$protocol_content = ($useSSL) ? 'https://' : 'http://';
меняете на
$protocol_link = 'https://';
$useSSL = true;
$protocol_content = ($useSSL) ? 'https://' : 'http://';
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Июня 2016, 13:01:18
Ответ #12
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
PrestaMan
Спасибо, помогло для главной страницы. В корзину так же стало возможно добавлять товары.
Однако, некоторые другие страницы или не работают из-за редиректа, или происходят конфликты типа
Цитировать
Mixed Content: The page at 'https://opt-nstyle.ru/prices-drop' was loaded over a secure connection, but contains a form which targets an insecure endpoint 'http://opt-nstyle.ru/prices-drop'. This endpoint should be made available over a secure connection.

Оформление заказа, например, тоже не работает.

Можно где-нибудь еще применить данное решение?
01 Июня 2016, 13:10:06
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 20837
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Можно еще в classes/Tools.php в
public static function usingSecureMode(){
        return true;
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Июня 2016, 13:22:50
Ответ #14
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можно еще в classes/Tools.php в
public static function usingSecureMode(){
        return true;

Не сработало. Весь сайт ушел в закат.