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

01 Июнь 2016, 15:39:54
Ответ #30
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
"http" в ссылках. Потому что некоторые модули используют ссылки с протоколом. Их нужно находить и исправлять.
Нужно еще проверить htaccess в нем тоже не должно быть http.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
01 Июнь 2016, 15:56:39
Ответ #31
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Я еще такое решение встречал, в файле /classes/Tools.php меняют 2 метода
public static function getHttpHost($http = false, $entities = false, $ignore_port = false)
{
        $host = (isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']);
        if ($ignore_port && $pos = strpos($host, ':')) {
            $host = substr($host, 0, $pos);
        }
        if ($entities) {
            $host = htmlspecialchars($host, ENT_COMPAT, 'UTF-8');
        }
        if ($http) {
            // $host = (Configuration::get('PS_SSL_ENABLED') ? 'https://' : 'http://').$host;
            $host = 'https://'.$host;
        }
        return $host;
}

public static function getShopDomain($http = false, $entities = false)
{
        if (!$domain = ShopUrl::getMainShopDomain()) {
            $domain = Tools::getHttpHost();
        }
        if ($entities) {
            $domain = htmlspecialchars($domain, ENT_COMPAT, 'UTF-8');
        }
        if ($http) {
            //$domain = 'http://'.$domain;
            $domain = 'https://'.$domain;
        }
        return $domain;
    }
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
01 Июнь 2016, 16:45:14
Ответ #32
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Вам нужно во всех контроллерах указать
public $ssl = true;Базовые контроллеры в папке /controllers/front/...
Контроллеры модулей в папке /modules/название модуля/
Открываете эти файлы, в первых строках находите объявление переменной ssl и присваиваите значение true.
01 Июнь 2016, 19:47:43
Ответ #33
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Mr.Sen Сделал. Пара замен всего.

mAgency Сделал.

Изменений нет, В хроме SSL правильно отображается только на главной, на остальных страницах присутствуют конфликты. В FF все хорошо.

Не работают страницы оформления заказа и все страницы личного кабинета.


UPD не работает, оказывается, добрая половина страниц.
03 Июнь 2016, 05:51:03
Ответ #34
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Итак, проблема решена.

Установил клон сайта на другой хостинг, там выпустили бесплатный SSL-сертификат, и о чудо, все заработало сразу без шаманства. В админке все включилось без проблем, платежная система успешно провела демо-платежи.

Была допущена ошибка в оформлении сертификата в силу неполноты информации о сервере, так вместо SHA1, который использовался на сервере, я оформил SHA2. Так же в центре сертификации не было варианта сервера nginx. Ну мб еще пара моментов.

Такие дела.
06 Июнь 2016, 12:06:27
Ответ #35
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
UPD2.

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

Цитировать
Здравствуйте.

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

В качестве решения возникшей проблемы, пожалуйста, добавьте следующую строку в .htaccess файл, который расположен в директории с файлами сайта:

SetEnvIf X-HTTPS 1 HTTPS=1

Зашел в админку - стало возможным включить SSL + на всех страницах. Конфликтов нет нигде.

P.s. Я откатил все упомянутые выше решения в первоначальную форму. Так же почему-то перевыпустил сертификат, но, как говорится выше, это значения не имело.
06 Июнь 2016, 12:30:00
Ответ #36
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Верните обратно родной код в classes/Tools.php
Добавьте "SetEnv HTTPS On" в файлеf .htaccess (если у ввс Apache).
Уходит в редирект.
После такого сразу пишешь в суппорт. Только суппорт знает как у них разрешено включать свои правила  в конфиге apache.
06 Июнь 2016, 12:34:02
Ответ #37
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Цитировать
Здравствуйте.
Сертификат был установлен корректно, не смотря на то, какие файлы предоставляются, в зависимости от выбранного сервера изменяется лишь формат, сертификат же остается прежним.
В качестве решения возникшей проблемы, пожалуйста, добавьте следующую строку в .htaccess файл, который расположен в директории с файлами сайта:
SetEnvIf X-HTTPS 1 HTTPS=1

Можно через rewrite в htaccess тоже самое:
RewriteCond %{HTTP:X-Forwarded-proto} ^https$
RewriteRule .* - [E=HTTPS:on]

После такого сразу пишешь в суппорт. Только суппорт знает как у них разрешено включать свои правила  в конфиге apache.
Согласен, что лучше сразу техподдержку озадачить. Это их работа. Только они не всегда отвечают по делу.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
06 Июнь 2016, 12:38:23
Ответ #38
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Pridelord у вас веб-сервер работает в связке Nginx (frontend) + Apache (backend). Это нужно было учитывать. Для prestashop в справке есть разные конф. для разных связок.  В вашем случае там указано что нужно добавить в htaccess.
###########################
## htaccess Nginx proxy HTTPS fix for Prestashop
SetEnvIf X-Forwarded-Proto https HTTPS=on
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
06 Июнь 2016, 13:08:18
Ответ #39
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
PrestaMan
К сожалению, я понятия не имел (первый опыт запуска интернет-магазина), какой веб-сервер был и как его можно было посмотреть. К определенному моменту я обнаружил, что сервер на Nginx, но это вся информация, которой я обладал.

В любом случае, все решилось. Благодарен всем участвовавшим в обсуждении.
14 Сентябрь 2016, 17:59:39
Ответ #40
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!

Спасибо за подробное обсуждение проблемы.
У меня установлен сертификат и все включается.

При включении Enable SSL on all pages = TRUE:
Админка работает на https, а также все страницы с товаром.
Кроме главной страницы: при открытии https://www.angl-bricks.ru выводится чистый лист.

При выключении Enable SSL on all pages = FALSE
Есть переход на https при авторизации.

По идее шаблоны и dir_ssl здесь не причем, так как открывается все, кроме главной страницы.
Заранее спасибо за советы
14 Сентябрь 2016, 19:53:36
Ответ #41
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Ошибка 500 серверная ошибка. Вам нужно в тех поддержку написать.
15 Сентябрь 2016, 15:32:54
Ответ #42
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
оказалось, что проблема в блоге от SmartDataSoft