Перейти к содержимому


Перевод ShopCMS полностью на HTTPS


  • Вы не можете ответить в тему
Сообщений в теме: 13

#1 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 March 2015 - 10:02 PM

Произвел эту операцию с тестовым сайтом. Ниже краткие тезисы.
Нормальной инструкции не получится, т.к. слишком индивидуально все и надо многое править по месту, но кому-то может помочь.

1. Получаем ключ и сертификат.
Можно купить (или озадачить хостера, чтобы он купил), можно получить бесплатный на https://startssl.com или https://buy.wosign.c...ee/FreeSSL.html
Я получал на первом.
В минусе бесплатности условно низкий уровень шифрования SHA-1 и невозможность получения сертификата на домены like "store", "pay", "shop", "bank", "money", "sale", "buy", "trade" and other payment related words.
Мне было отказано в получении FreeSSL-сертификата на домен shop3.badisoft.ru, хотя без проблем выдан сертификат на cpu.badisoft.ru


2. приспосабливаем их на сервер или поручаем хостеру. Собственно, п.1 и п.2 это штатные хостерские процедуры-за-деньги. Я этим занимался самостоятельно только потому, что у меня свои сервера.
https://www.easycodi...-ip-adrese.html


3. делаем безусловное перенаправление с http на https:
http://firstwiki.ru/..._Apache_и_Nginx


4. убираем (обычно в head.tpl.html, но не факт, что нет в других местах) у загрузок JS-файлов и CSS-файлов протокол http:
К примеру, http://jquery.google.com/jquery.js заменяем на //jquery.google.com/jquery.js или вообще сразу на https://
Собственно, вообще везде убираем принудительный выбор протокола http.

Вкратце так. Как получилось можно увидеть на сайте в подписи.

PS. От некоторых блоков и сервисов пришлось отказаться, т.к. они в принципе не работали под HTTPS, только по HTTP.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 Jumor

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

  • Download User
  • PipPipPip
  • 34 сообщений
Репутация: 0
Начинающий

Отправлено 11 September 2016 - 06:59 PM

Очень интересная тематика. А почему не внедрили http2?
  • 0

#3 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 11 September 2016 - 07:55 PM

Очень интересная тематика. А почему не внедрили http2?

Куда я не внедрил HTTP/2?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 Jumor

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

  • Download User
  • PipPipPip
  • 34 сообщений
Репутация: 0
Начинающий

Отправлено 11 September 2016 - 08:15 PM

https://cpu.badisoft.ru как я понимаю не использован http/2
Скажите а ставили shopcms с использованием http/2 ? Есть примеры результата? Спасибо
  • 0

#5 ALEXANDERS

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

  • Download User
  • PipPip
  • 28 сообщений
Репутация: 0
Начинающий

Отправлено 08 December 2016 - 10:10 PM

А модуль sitemap тогда тоже надо менять, чтобы список был с htpps?
  • 0

#6 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 December 2016 - 10:27 PM

А модуль sitemap тогда тоже надо менять, чтобы список был с htpps?

Очевидно. И модуль генерации yandex.xml, если он используется.
И в robots.txt префиксы сменить.

PS. А. да! Еще в яндекс.вебмастере надо будет создать HTTPS-зеркало сайта и прописать его основным зеркалом.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#7 bbcode

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений
Репутация: 0
Начинающий

Отправлено 25 January 2017 - 03:52 PM

Вот https://manybon.ru shopcms на https в UTF и работает на php 5.4, совместим до версии 5.6 точно, с автогенерацией под маркет и шоппинг, с возможностью настройки некскольких наборов категорий, т.е. можно к примеру на маркет гнать все категории, на авито только часть, способный переварить 800000 товаров, c микроразметкой и генерацией сайтмапов, ЧПУ и еще несколькими СЕО фишками, только эти заморочки помойму излишни, лучше сразу взять битрикс и сэкономить кучу времени
  • 0

#8 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 25 January 2017 - 08:35 PM

только эти заморочки помойму излишни, лучше сразу взять битрикс и сэкономить кучу времени

Лучше сразу взять не битрикс и сэкономить еще одну кучу времени :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#9 FusSheva

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

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 31 January 2017 - 07:07 PM

А в самом движке нет возможности перенаправлять все запросы на протокол https ? Средствами PHP скажем.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#10 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 31 January 2017 - 07:26 PM

А в самом движке нет возможности перенаправлять все запросы на протокол https ? Средствами PHP скажем.

Это примерно как мизинцем ноги в ухе ковырять. Требует умения, хотя в принципе осуществимо, но нахрен не надо.
Переадресация http->https в .htaccess - три простейших строки.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#11 FusSheva

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

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 01 February 2017 - 07:58 AM

В админке к примеру то есть возможность:

Заказ в защищенном режиме
Включите эту галочку, если Вы хотите, чтобы оформление заказов производилось в защищенном режиме SSL.
Для корректной работы этой функции на сервере должен быть установлен SSL сертификат.

И оно таки работает. :)

Правил файл .htaccess - работает, только если человек идет по ссылке с www впереди. А прямая ссылка на товар типа http://site.com/product_100.html не переводит сайт в https (верней как то через раз проходит номер). Если же идти типа с www вот так http://www.site.com/product_100.html то все ОК

p.s. Перепробовал все возможные способы прописывания переадресации в .htaccess у меня работает( и то через раз только) такой вариант:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Да в начале еще поставил вот такое, (оно как раз и переводит прямые ссылки на товар с www впереди):
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC]
RewriteRule ^(.*)$ https://site.com/$1 [R=301,L]

p.s.s. Понятно что вместо site.com - мой домен.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#12 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 February 2017 - 02:32 PM

Правил файл .htaccess - работает, только если человек идет по ссылке с www впереди. А прямая ссылка на товар типа http://site.com/product_100.html не переводит сайт в https

Отделите мух от котлет :).
переадресация с www на без-www - одна переадресация.
переадресация с http на https - другая переадресация.
Хотя, думаю, их можно и объединить.
У меня нет апача, я пользую nginx и апач (синтаксис .htaccess) знаю плохо.
А в nginx у меня написано так:
server {
    listen 80;
    server_name badisoft.ru www.badisoft.ru soft.badisoft.ru;
    rewrite ^(.*) https://badisoft.ru$1 permanent;
    }

server {
    listen 443 ssl;
    server_name www.badisoft.ru soft.badisoft.ru;
    rewrite ^(.*) https://badisoft.ru$1 permanent;
    }
Т.е. все приходящие на 80-й порт (http) www, soft и badisoft.ru переадресуются сразу на https://badisoft.ru
Все приходящие на 443-й порт (https) www и soft тоже переадресуются на https://badisoft.ru
Думаю, эти два правила можно как-то объединить, но я особо не разбирался.
В конце концов, можно вообще на каждую переадресацию отдельное правило написать.

Перепробовал все возможные способы прописывания переадресации в .htaccess у меня работает( и то через раз только) такой вариант:

Разных способов много. У меня с десяток в "напоминалке" записано. Как раз потому, что я синтаксис .htaccess плохо знаю. Связано это обилие способов с тем, что хостинг, как правило, построен по системе фронтенд-бэкенд и то, как приходит запрос на фронтенд вовсе не означает, что именно в таком виде (по такому протоколу) он придет и на бэкенд, которым мы управляем с помощью .htaccess. Т.е. на бэкенд запрос может попасть уже в виде обычного http-запроса, хотя входил по https. Чтобы как-то отличать и существуют заголовки типа HTTP:X-Forwarded-Protocol и подобные, где прямо или косвенно указано, как в реальности входил запрос. Ну а конкретное решение надо подбирать либо методом тыка, либо просто спросить у хостера.

PS. сейчас badisoft.ru проверять не стоит, т.к. в силу утери доверия у сертификатов от startssl (51-я версия FireFox уже вообще сайты с этими сертификатами отказывается показывать) я отключил https на сайте пока не настрою автополучение сертификатов через lets encrypt.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#13 FusSheva

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

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 01 February 2017 - 06:53 PM

Прописав правило c www и без него, я хотя бы немного добился переадресации на тот же https :) Во всяком случае оно не помешало.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#14 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 01 February 2017 - 07:42 PM

Прописав правило c www и без него, я хотя бы немного добился переадресации на тот же https

Честно говоря, не очень понимаю Вашей проблемы.
Поставьте себе задачу "разобраться, как все http://www.site.ru, http://site.ru и https://www.site.ru редиректить на https://site.ru" и решайте ее.
Тем более, Вы уже знаете о том, что инфо о входящем протоколе передается в заголовке HTTP:X-Forwarded-Protocol.
Задача не сложная, вполне решаемая путем чтения Яндекса. Как путем нормального понимания синтаксиса библиотеки mod_rewrite, так и путем "научно-тыкового" применения готовых примеров из поисковика. Которых ДО ХРЕНА, т.к. Вы ни разу не уникальны с такой задачей.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)