Настройка SSL

Тема в разделе "Ошибки и их решения", создана пользователем WizAnd, 30 апр 2015.

  1. AkageMik

    AkageMik Новичок

    Сообщения:
    10
    Симпатии:
    2
    ocStore 2.3.0.2.3
    Почитал инструкцию http://forum.opencart-russia.ru/threads/nastrojka-ssl.424/page-5#post-29116
    Почитал, что еще пишут. Начал установку SSL:
    1) Включаю в настройках SSl.
    2) Правлю файлы конфигов http->https.
    (base href="https - в коде изменяется)
    3) У хостера есть автопереадресация (что бы ручками не писать) если включаю её или дописываю
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    Получаю:
    1. внешка - с зеленым замком, ошибок нет.
    2. админка - переходит на https
    2.1 бонусом к замочку и https съезжает вся верстка в админ части
    2.2 если вручную прописать http - то все становиться на место.
    Пробывал остальные пункты инструкции:

    Вопрос: что еще не сделано?
    RewriteBase /
    RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
    RewriteRule ^system/download/(.*) index.php?route=error/not_found [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]

    ### start
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
    RewriteRule ^index\.html$ / [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ / [R=301,L]
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteCond %{REQUEST_METHOD} !^POST$
    RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
    ### end
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Сами ссылки в админке не https ?
     
  3. AkageMik

    AkageMik Новичок

    Сообщения:
    10
    Симпатии:
    2
    Ссылки в https. В том то и дело, что практически все работает, внешка и админка на https. Единственная проблема - верстка
    [​IMG]
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Верстка как раз возможно и не грузится из за ссылок. Кидайте доступ от админк.. гляну или сами смотрите по какому адресу пытается стили подгрузить.
     
  5. AkageMik

    AkageMik Новичок

    Сообщения:
    10
    Симпатии:
    2
    Колдую далее:
    // HTTP
    define('HTTP_SERVER', 'http://site.com/admin/');
    define('HTTP_CATALOG', 'http://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/admin/');
    define('HTTPS_CATALOG', 'https://site.com/');
    и еще один
    // HTTP
    define('HTTP_SERVER', 'http://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/');
    ### start
    #RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
    #RewriteRule ^index\.html$ / [R=301,L]
    #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    #RewriteRule ^index\.php$ / [R=301,L]
    #RewriteCond %{QUERY_STRING} ^route=common/home$
    #RewriteCond %{REQUEST_METHOD} !^POST$
    #RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
    ### end
    Ну и тикет еще открыт, но видимо техподдержка не осилит.
    Пробывал использовать решение с $this->config->set('config_ssl', HTTPS_SERVER); - http://forum.opencart-russia.ru/threads/nastrojka-ssl.424/page-4#post-26036 - безрезультатно.
    Пробывал различные варианты .htaccess - безрезультатно.
    Теперь самое интересное:
    // HTTP
    define('HTTP_SERVER', 'https://site.com/admin/');
    define('HTTP_CATALOG', 'https://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/admin/');
    define('HTTPS_CATALOG', 'https://site.com/');
    и еще один
    // HTTP
    define('HTTP_SERVER', 'https://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/');
    все работает как надо, при чем:
    1. <base href="https://site.com/"
    2. Внешняя часть работает на https
    3. Админка - поправилась, верстка на месте
    4. Options +FollowSymlinks
      Options -Indexes
      <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
      Require all denied
      </FilesMatch>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
      RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
      RewriteRule ^system/download/(.*) index.php?route=error/not_found [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]
      ### start
      #RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
      #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
      #RewriteRule ^index\.html$ / [R=301,L]
      #RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
      #RewriteRule ^index\.php$ / [R=301,L]
      #RewriteCond %{QUERY_STRING} ^route=common/home$
      #RewriteCond %{REQUEST_METHOD} !^POST$
      #RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
      ### end
    Сделано: 1) правка конфигов - в начале изменил все в // HTTP и // HTTPS на https
    2) включил в админке SSL.

    Вот собственно и все.
    Откатил назад.
    Возникло сразу же вопросов:
    1) Что же там такое сработало, что не срабатывало по общепринятой инструкции? (имеется ввиду конфиги+SSL в настройках админки)
    2) Как я понимаю, то теперь все что было на http - "давай до свиданья"?
    3) Почему все работает без дополнительного редиректа в .htaccess?
     
    Последнее редактирование: 16 фев 2018
  6. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Это написано чуть ли не накаждой странице в данной теме. Непонятно почему сразу не сделали. Я был уверен, что вы все сделали.

    Да. Делайте редирект чтобы не было досвидания.
     
    AkageMik нравится это.
  7. AkageMik

    AkageMik Новичок

    Сообщения:
    10
    Симпатии:
    2
    Да в том то все и дело, что практически во всех инструкциях предписание было:
    1) // HTTP
    define('HTTP_SERVER', 'http: - оставить в http без изменений;
    2) // HTTPS
    define('HTTPS_SERVER', 'http: заменить на https:
    Хостер мне молча сделал переадресацию )) а я сижу. правила ставлю...
    Хотел еще спросить по поводу правильной SEO переадресации - можете вариант подсказать? Может лучше фикс поставить - http://forum.opencart-russia.ru/attachments/fix_https-ocmod-xml.2959/?
    Ну тогда, как я понимаю, то инструкция по установке SSL и переходе на HTTPS должна иметь вид для ocStore 2.3:
    1. Установка сертификата на хостинге
    2. Система >>> Настройки >>> Использовать SSL >>> да
    3. Файл config.php в папке корень сайта/admin/ редактируем следующим видом:
    // HTTP
    define('HTTP_SERVER', 'http://site.com/admin/');
    define('HTTP_CATALOG', 'http://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'http://site.com/admin/');
    define('HTTPS_CATALOG', 'http://site.com/');
    define('HTTP_SERVER', 'https://site.com/admin/');
    define('HTTP_CATALOG', 'https://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/admin/');
    define('HTTPS_CATALOG', 'https://site.com/');
    4. Файл config.php в корне сайта редактируем следующим видом:
    // HTTP
    define('HTTP_SERVER', 'http://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'http://site.com/');
    // HTTP
    define('HTTP_SERVER', 'https://site.com/');
    // HTTPS
    define('HTTPS_SERVER', 'https://site.com/');
    5. Устанавливаем переадресацию - и тут может быть 2 варианта (отдельное внимание стоит обратить, на то, что если выполнить оба варианта - будет зациклена переадресация с соответствующим сообщением о множественной переадресации):
    5.1 на стороне хостера через админку хостинга - тут лучше обратиться к FAQ хостера или в техподдержку;
    5.2 внесением изменений в .htaccess расположенном в корне сайта. Ниже привожу найденные варианты, что кому подойдет:
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    1й)
    #С домена с WWW префиксом на без #
    RewriteCond %{HTTP_HOST} ^www.stehnika\.net$ [NC]
    RewriteRule ^(.*)$ http://stehnika.net/$1 [R=301,L]
    #Для HTTPS-версии:
    RewriteCond %{SERVER_PORT} ^80$ [OR]
    RewriteCond %{HTTP} =on
    RewriteRule ^(.*)$ https://stehnika.net/$1 [R=301,L]
    2й)
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
    RewriteCond %{HTTP:X-Forwarded-Proto} =""
    RewriteCond %{HTTP:X-HTTPS} !1 [OR]
    RewriteCond %{HTTPS} !=on
    RewriteCond %{REQUEST_URI} !robots\.txt
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    3й)
    #Здесь две переадресации с WWW на без WWW и с http на https
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
    RewriteCond %{HTTP:X-Forwarded-Proto} =""
    RewriteCond %{HTTP:X-HTTPS} !1 [OR]
    RewriteCond %{HTTPS} !=on
    RewriteCond %{REQUEST_URI} !robots\.txt
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    #конец

    4й)
    #начало
    #С домена с WWW префиксом на без #
    RewriteCond %{HTTP_HOST} ^www.stehnika\.net$ [NC]
    RewriteRule ^(.*)$ http://stehnika.net/$1 [R=301,L]
    #Для HTTPS-версии:
    RewriteCond %{SERVER_PORT} ^80$ [OR]
    RewriteCond %{HTTP} =on
    RewriteRule ^(.*)$ https://stehnika.net/$1 [R=301,L]
    #конец
     
    Последнее редактирование: 17 фев 2018
    Vlad нравится это.
  8. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Честно не знаю.. можете поставить. Если все в https то думаю можно и поставить.

    Суть переадресаций не в том чтобы все работало (хотя это тоже отчасти), а в "переезде" и не потери позиций. Хотя мнения тут расходятся. у одних все падает и потом через месяц-два где то возвращается, а у некоторых просто проседает.

    Но подход у вас правильный ))) Особенно к постановке задачи (все бы так )
     
  9. AkageMik

    AkageMik Новичок

    Сообщения:
    10
    Симпатии:
    2
    Попробую, потом отпишусь. Я конечно уже для ПС обозначил новый адрес, но теперь надо читать по SEO.
    Мне нужна была ПОМОЩЬ с конкретной проблемой, глобально все работало, вопрос касался небольшого изменения, что бы работало. Так что просто пришлось все оформлять как надо)))
     
  10. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    Всем привет!
    не могу настроить сертификат на 2.3.0.2 (rs.6),
    добавил в .htaccess
    Код:
    RewriteCond %{HTTPS} =off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
    Только на главной странице браузер пишет, что части этой страницы такие как изображения не защищенный. На остальных страницах сертификат присутствует.
     
    Последнее редактирование: 3 авг 2018
  11. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.056
    Симпатии:
    182
    Gluka, скорей всего, у баннеров или каких-то других картинок указаны полные ссылки с http. Нужно переделать.
     
  12. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    спасибо! нашел.
     
    Последнее редактирование: 3 авг 2018
  13. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    После переезда на https в вебмастере яндекс появилось следующее предупреждение: "Робот не смог получить доступ к файлу robots.txt при последнем обращении." Как поправить?
    Да, с картами сайта как быть?
     
  14. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.056
    Симпатии:
    182
    Всё правильно, ведь настроен редирект на https. Если редирект сделан, то немного погодя Яндекс добавит сайт https как зеркало, чуть позже и как главное зеркало. Потом начнётся перенос выдачи на него. Можно немного ускорить выбор зеркала, в справке Яндекса об этом есть.
     
  15. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    Еще подскажите, в картах сайта на сайте идет http. Нужно ли их переименовывать на https или ждать немного погодя? какой период это может занять (немного погодя)?
     
  16. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.056
    Симпатии:
    182
    Не всё доделано при переводе. Читайте соответствующие темы, там всё расписано.
     
  17. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    А это не та тема? Весь поиск по форуму ведёт в эту тему.
     
    Последнее редактирование: 7 авг 2018
  18. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.056
    Симпатии:
    182
    Действительно, та...
    Чёт я заработался.
     
  19. Gluka

    Gluka Пользователь

    Сообщения:
    107
    Симпатии:
    0
    Внес изменения в robots.txt (инфу нашел на стороннем форуме), и в вебмастере яндекс появились изменения. Жду обновления данных у яндекса.
     
  20. AlexPromo

    AlexPromo Новичок

    Сообщения:
    11
    Симпатии:
    0
    Всем привет. Подскажите пожалуйста, переехал на https, все работает, все нормально, кроме того, что в меню ссылки ведут на http страницы, которые потом редиректят уже на https, как это поправить? Причем с верхнего меню норм
    http://prntscr.com/kg6av9
    а вот подменюшки ведут на http
    http://prntscr.com/kg6bam
    Как поправить это?