[Решено] SSL на опенкарт

Тема в разделе "OpenCart", создана пользователем MGT1, 14 янв 2017.

Статус темы:
Закрыта.
  1. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    И так дожился до того, что установил себе на сайт бесплатный сертификат Let's Encrypt.

    Добавим сразу что используется Паладин - что делает задачу сложнее.



    Все бы хорошо но пришлось отказаться от ИСП Панель админ, и перейти на ДиректАдмин панель (так как хост по другому не поддерживает).

    Перешел.

    Админка работает через https, без проблем (вроде).
    В сервере указал использовать ССЛ.

    А теперь начались проблемы)

    И так начнем и понемногу будем исправлять, может кому потом также пригодиться:

    --- Добавлено, 14 янв 2017 ---
    Сразу напишу - МНОГО МОДУЛЕЙ ПЕРЕСТАЛО РАБОТАТЬ! Так что прежде подумайте перед тем как включать ССЛ. (уточнение от Dotrox - кривых :crazy:)
    --- Добавлено, 14 янв 2017 ---
    И так погнали:
    1. Фильтпро - лицензия слетела полностью. Активировали - проверяем работоспособность.
    --- Добавлено, 14 янв 2017 ---
    Ура работает - :Acute: (но настройки не сохранились!!)
    --- Добавлено, 14 янв 2017 ---
    2. csv price pro import/export - сразу ошибка HTTP ERROR 500
    --- Добавлено, 14 янв 2017 ---
    Возможна проблема в ионкубе.
    --- Добавлено, 14 янв 2017 ---
    Нет проблемы и кубом нету... Идемс искать дальше.
    --- Добавлено, 14 янв 2017 ---
    Вернул версию пхп на 5.3 - не помогло.
    --- Добавлено, 14 янв 2017 ---
    Обязательные настройки:

    Настройки Вашего сервера Текущие настройки Необходимые настройки Состояние
    PHP Version: 5.3.29 5.3.x, 5.4.x, 5.4.x, 5.6.x, 7.x.x OK
    ionCube PHP Loader: Installed, ver. 6.0.6 5.1.2+ OK
    OpenSSL support: enabled enabled OK


    Дополнительные настройки:

    Настройки Вашего сервера
    Текущие настройки Рекомендуемые настройки Состояние
    max_execution_time 30 300+ Off
    memory_limit 192M 128M+ OK
    post_max_size 128M 16M+ OK
    upload_max_filesize 256M 16M+ OK

    --- Добавлено, 14 янв 2017 ---
    Тут все ОК - а модуль не запускается. Почему? Журнал ошибок чист.
    --- Добавлено, 14 янв 2017 ---
    Возможно допускается проблема в .htaccess.
    Код:
    # 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
    
    # 2. In your opencart directory rename htaccess.txt to .htaccess.
    
    # For any support issues please visit: http://www.opencart.com
    
    Options +FollowSymlinks
    
    # Prevent Directoy listing
    Options -Indexes
    
    # Prevent Direct Access to files
    <FilesMatch "\.(tpl|ini|log)">
     Order deny,allow
     Deny from all
    </FilesMatch>
    
    # SEO URL Settings
    RewriteEngine On
    # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
    
    RewriteBase /
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteRule ^blogsitemap.xml$ index.php?route=feed/blog_sitemap [L]
    RewriteRule ^blogfeed.xml$ index.php?route=feed/blog [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    RewriteCond %{HTTP_HOST} ^www.setka24\.com$ [NC]
    RewriteRule ^(.*)$ http://setka24.com/$1 [R=301,L]
    
    ### Additional Settings that may need to be enabled for some servers
    ### Uncomment the commands by removing the # sign in front of it.
    ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
    
    # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
    # php_flag register_globals off
    
    # 2. If your cart has magic quotes enabled, This may work to disable it:
    # php_flag magic_quotes_gpc Off
    
    # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
    # php_value upload_max_filesize 999M
    
    # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value post_max_size 999M
    
    # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value max_execution_time 200
    
    # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value max_input_time 200
    
    # 7. disable open_basedir limitations
    # php_admin_value open_basedir none
    --- Добавлено, 14 янв 2017 ---
    Отключение ССЛ не помогает (ошибка 500). Перезалив всех файлов тоже.
    --- Добавлено, 14 янв 2017 ---
    Разобрался - при переносе файлы не переносились в 2-м коде!
    --- Добавлено, 14 янв 2017 ---
    С-ка лицензия тоже слетела! - тоже исправили. Теперь идем к сайту :threaten:

    Проблемы:
    1. сертификат не работает в общем на фронтенде (проблема в хттпс).
    2. в корзине запускается но не срабатывает полностью (проблема в загрузке изображений в режиме хттп). Как теперь это исправить? :FlagOfTruce:
     
    Последнее редактирование: 15 янв 2017
    mr.Elias и skiv14 нравится это.
  2. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Нашел вариант добавить в хттпс:
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Попробовал - ссылки превращаются в
    это плохо. :Help:
    --- Добавлено, 14 янв 2017 ---
    Примечание - если в конфиге прописать для хттп в имейдж хттпс - корзина заработает, но будет конфликт по шрифтам.
     
  3. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Надо дописать - кривых!

    Вот это работать не будет! Строка с
    Код:
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 
    всегда должна быть последней.


    Та же история. Порядок директив имеет значение!
     
    Zulus нравится это.
  4. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Код:
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    И так - замечание Dotrox внес)

    А от с перенос в конец RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] не понятно.
    После его переноса, сайт отказывается работать (картинки и стили плывут). Вот скрин.


    Теперь добавим код для хттпс.


    --- Добавлено, 15 янв 2017 ---
    Получился такой вариант, может кому пригодиться:
    Код:
    # SEO URL Settings
    RewriteEngine On
    # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
    
    RewriteBase /
    
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{HTTP_HOST} ^www.setka24\.com$ [NC]
    RewriteRule ^(.*)$ http://setka24.com/$1 [R=301,L]
    
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteRule ^blogsitemap.xml$ index.php?route=feed/blog_sitemap [L]
    RewriteRule ^blogfeed.xml$ index.php?route=feed/blog [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    --- Добавлено, 15 янв 2017 ---
    Теперь идемс смотреть что там стилями/шрифтами)
    --- Добавлено, 15 янв 2017 ---
    в шапке сайта замените код (файл header.tpl)



    на


    --- Добавлено, 15 янв 2017 ---
    А теперь везде - где у Вас вставлены изображения - меняете на хттпс ссылки (если кто знает как автоматизировать - подскажите).
     
    Zulus нравится это.
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Это потому, что они грузятся по http и браузер их блокирует, а не из-за переноса директив.

    Почему здесь http? Из-за этого при заходе с www получается лишний редирект (сначала просто удаление www, а только потом уже на https).


    Ещё где-то в коде осталась такая ссылка, на которую Мозилла ругается:
     
  6. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    В RewriteRule ^(.*)$ http://setka24.com/$1 [R=301,L] добавил 's'

    Остались 2 ошибки - 1-я с модулем МегаОтзывы (точнее с яваскриптом что-то).
    2-я з Симлой (тянет изображения хттп).

    Точнее пока других не обнаружил)
    --- Добавлено, 15 янв 2017 ---
    Хотя есть проблема с контактами - + модуль Advanced Professional Email Template: 2.5.1 письма не хочет получать/отправлять)
    --- Добавлено, 15 янв 2017 ---
    Но тут проблема скорее в настройках смой - почты. Покупатель письмо получает. С этим разберемся с хостером. Возвращаемся к верхним ошибкам.
     
    Последнее редактирование: 15 янв 2017
  7. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    /system/library/url.php
    В строке
    Код:
    public function link($route, $args = '', $connection = 'NONSSL') {
    вместо NONSSL должно быть либо SSL, либо просто пустые кавычки (SSL - для большей понятности). Это заставит все ссылки, которые формируются через $this->url->link() всегда использовать https. Хотя, подозреваю, что ты этого уже добился повписывав в конфиги https и там, где должно быть http.

    В просмотренных ссылка на товар без https.
     
  8. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Короче не все так просто с этим ссл оказывается.
    'NONSSL' сменил на 'SSL'

    Имеем следующий результат: контакты и прочее страницы что были проблемными исправились. Картка продукта (включая модуль МегаОтзывов) - исправился.

    Симпла (с подгрузкой картинок с модуля ДоставкаПлюс) - нет. Походу вот тут надо будет вручную вписать.

    и кстати конфиги я не трогал))только раз сделал эксперимент - если хттп перевести в хттпс - у симлпы вопросов нету.
     
  9. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Это не Simple косячит, а модули доставки. Это их иконки грузятся по http.
     
    MGT1 нравится это.
  10. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Исправил правкой вкьюмода (файла доставкаплюс) исправлением 3-х HTTP_IMAGE на HTTPS_IMAGE
    --- Добавлено, 15 янв 2017 ---
    Теперь переходим к почте:

    Если при заказе сообщение покупателю приходит, а админу нет - проблема в настройках домена или в настройках почты?

    Используется почта бизмейлру
    Если просто писать с почты на почту работает

    В опенкарте настройки никаие не вносились (раньше работало и так). Стоит Мейл, порт 25

    После установки ссл надо что-то вносить? На хостинге почта не создавалась.
     
    Последнее редактирование: 15 янв 2017
  11. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Нельзя её вообще использовать! Весь интернет завален проблемами с мейл.ру в ОК.
     
  12. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Жаль. Очень удобно было. Ни каких проблем не было (до ссл). Оповещение сразу приходило на телефон. Какие варианты/заменители?

    От Мейл ру отказываемся однозначно - сотни настроек, не принимает smtp.

    Пробуем перейти на Яндекс.
     
    Последнее редактирование: 15 янв 2017
  13. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Либо Яндекс, либо вот это - https://www.zoho.com/mail/
    Это если из бесплатных вариантов. Zoho я ещё не пробовал, а на Яндексе сидит какое-то количество магазинов, в том числе и на https.
     
  14. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Кароче берете яшу. Настройке дал хостеру он внес в ДНС.
    В админке никаких настроек не вносил - пашет и так. Мейл, порт 25, таймаут 5.
     
  15. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    285
    Симпатии:
    95
    извиняюсь если не туда но после запуска ssl у меня полезли ошибки хотя их не было пока на двух модулях заметил, как можно испарвить.
    1.
    Код:
    Warning: file_get_contents(http://сайт.ru/): failed to open stream: Redirection limit reached, aborting in /home/a/public_html/admin/controller/module/httpsfix.php on line 356
    Код:
    $main_content = file_get_contents(HTTP_CATALOG);
    2.
    Код:
    Warning: file_get_contents(https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyDhgTJGW8vHgey8J3FtHr1TV6c-_OipNRk): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /home/a/public_html/admin/controller/module/labelmaker.php on line 1036
    Код:
    if (ini_get('allow_url_fopen')) {
                $content = file_get_contents($url);
                return $content;
            }
     
  16. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Отключите модуль httpsfix, очистите кеш модификаторов и посмотрите на результат. Первая ошибка то в любом случае исчезнет, потому что она в этом модуле (и код там бессмысленный), а вторая, мне кажется, вызвана им же.
     
  17. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    285
    Симпатии:
    95
    удалил полностью httpsfix подчистил кеш, но вторая ошибка также осталась.
     
  18. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Тогда надо смотреть на код.
    Предполагаю, что там должно быть http в ссылке на шрифт. Но я назначение этого кода вообще не понимаю, он пытается выгзгрузить шрифт на сервер, но зачем.
     
Статус темы:
Закрыта.