RHCk

инструкция
Руководство для перехода на SSL (HTTPS)

325 сообщений в этой теме

1 час назад, Nameless сказал:

сделал методом тыка в свое время

Сейчас настроено таким же способом.

Но хотелось бы, чтобы все (или почти все) редиректы были сделаны до движка, а не движком сайта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, RHCk сказал:

Сейчас настроено таким же способом.

Но хотелось бы, чтобы все (или почти все) редиректы были сделаны до движка, а не движком сайта.

ну может тогда кто-то из более опытных форумчан не пройдет мимо и наставит на путь праведный)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Nameless сказал:

не пройдет мимо и наставит на путь праведный)

На это и уповаю:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не буду показывать пальцем. Но есть один у нас товаристч, который по моему исходный код apache наизусть рассказать может, если разбудить в три часа нотчи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Yoda сказал:

Но есть один у нас товаристч

Так товарищ этот занят, насколько я знаю, очень.

Не хотел по таким мелочам беспокоить ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, RHCk сказал:

Так товарищ этот занят вроде как очень.

Не хотел по таким мелочам беспокоить ;)

 

Открою секрет. 
Невозможно быть занятым 24 часа в сутки. Так как мозги кипят иногда надо переключаться. 

Точнее невозможно пилить бесконечно одну задачу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Yoda сказал:

иногда надо переключаться

На часок переключусь, а потом напишу ему. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 19.07.2016 at 21:50, RHCk сказал:

На часок переключусь, а потом напишу ему. Спасибо.

получилось узнать тайные знания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, Nameless сказал:

получилось узнать тайные знания?

Нет, вопрос написал, но ответа ещё не получил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 18.07.2016 at 23:24, Nameless сказал:

Короче не знаю как правильно, сделал методом тыка в свое время и работает. Итак:

1. в config.php:


// HTTP
define('HTTP_SERVER', 'https://ваш-сайт/');

// HTTPS
define('HTTPS_SERVER', 'https://ваш-сайт/');

2. в admin/config.php:


// HTTP
define('HTTP_SERVER', 'https://ваш-сайт/admin/');
define('HTTP_CATALOG', 'https://ваш-сайт/');

// HTTPS
define('HTTPS_SERVER', 'https://ваш-сайт/admin/');
define('HTTPS_CATALOG', 'https://ваш-сайт/');

3. в .htaccess:


RewriteBase /
# Редирект c www на без www
RewriteCond %{HTTP_HOST} ^www.ваш-сайт.com
RewriteRule ^(.*)$ http://ваш-сайт/$1 [R=301,L]

4. в конце robots.txt:


Host: https://ваш-сайт.com

5. Включаем SSL на сайте

6. На хостинге сайт висит на выделенном ip, подключен там же сертификат, у меня хостинг timeweb и в настройках сайта вот так вкл SSL, редирект с www на без не тронут

http://prntscr.com/bufbmj

 

ВСЕ, но если у вас какие-то картинки и прочая хрень была указана с абсолютным адресом (http://ваш-сайт.ру/картинка) в статьях там всяких то будет всякие мозилы ругаться поэтому нужно найти эти места и исправить на пример так (/картинка), к счастью мозила тут кажет если что не так http://prntscr.com/bufe3k (на данном скрине все кошерно)

 

Если у вас Mega Filter, то нужно дополнительно поставить в index.php перед // Version:


$_SERVER['HTTPS'] = 'on';

 

Подскажите, у меня сайт без WWW. Подключил SSL.

В конце robots.txt было прописано Host: site.ru, тут же не нужно новый host дополнительно прописывать, а нужно заменить на Host: https://ваш-сайт.com верно?

Нужно ли менять в robots строку sitemap: http://site.ru на sitemap: https://site.ru?

 

.htaccess

у меня прописано:

 

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^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]

 

Дописать строки можно в конце или в начало надо под RewriteBase или вообще не важно? И так же ли их нужно прописывать, если у меня без WWW?

RewriteCond %{HTTP_HOST} ^www.ваш-сайт.com
RewriteRule ^(.*)$ http://ваш-сайт/$1 [R=301,L]

 

Сделал по вашему описанию, с поисковиков если переходить, то ссылка в браузере отображается без www как и было и без https, а если нажимаю на ссылку какую либо на сайте, то уже открывается с https. Можно поправить, чтобы при заходе с поисковых систем, сразу с https открывалось?

 

И еще вопрос, не повлияют ли эти правки на выдачу поисковых запросов в поисковиках?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 - в идеале нужно сделать абсолютный редирект всех страниц на https и на какой то один вариант либо https://www либо без www.

2 - нужно исключить абсолютный редирект для файла sitemap и при заходе по http в нем должна быть указана директива HOST  с новым каноническим адресом сайта. Т.е https:.//site.ru

3 - Дописать нужно перед rewrite base после rewrite engine ON

4.- Откуда же возьмется сразу у поисковиков ваш HTTPS, если они еще не проиндексировали сайт по новому адресу и им явно не указали основное зеркало?

Чтобы решить это вопрос смотрите пункт 1.

5. - Повлияет - на какой то момент будет просадка. И может быть нехилая. Так как если вы внимательно почитаете руководство для вебмастеров - там черным по белому написано. Что поискова система не гарантирует полноценного сохранения позиций  в выдаче после смены главного зеркала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прописал в robots

host: https://site.ru

sitemap: https://site.ru

 

Остался вопрос. Вы пишите Редирект с www на без www. А если у меня сайт без www был, тооо нужно что то прописывать в .htaccess?

 в .htaccess:

RewriteBase /
# Редирект c www на без www
RewriteCond %{HTTP_HOST} ^www.ваш-сайт.com
RewriteRule ^(.*)$ http://ваш-сайт/$1 [R=301,L]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, SharkX58 сказал:

sitemap: https://site.ru

sitemap: https://site.ru/sitemap.xml - полный url до вашего файла sitemap.xml

Если у вас фиды (как в редакции OC.PRO), достаточно будет скормить их ПСам в их вебмастерах.

4 часа назад, SharkX58 сказал:

А если у меня сайт без www был

Если не прописать редирект (в вашем случае с www на без www), то для ПС будет существовать две версии вашего сайта - с www и без www.

Чтобы этого избежать и делается редирект.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите еще момент. Если я набираю в адресной строке site.ru то так и открывается site.ru, если набирают https://site.ru то так и открывается https://site.ru.

Вопрос, по хорошему же нужно, чтобы при наборе site.ru открывалось https://site.ru.?

Как это можно реализовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, SharkX58 сказал:

Вопрос, по хорошему же нужно

Вопрос в том, чтобы при любом наборе адреса сайта (страницы) срабатывал редирект на site.ru с https (в вашем случае).

И этот вопрос актуален.

 

UPD Шапку поправил. Пробуйте и отписывайтесь о результатах здесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же искал решение этой проблемы,решил.Сейчас найду что нужно сделать,т.е парк строк и все

 

И не важно будет как вы напишите сайт,все равно будет грузить с https

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

Сами знаете куда вставлять :)

 

Могу скинуть для анализа свой .htaccess

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Просьба проверить у себя (у кого настроен SSL).

После проделывания описанного в шапке, все редиректы работают правильно.

Но если вставить в строку браузера ссылку на фото товара или на robots.txt (причем тот же robots.txt доступен по всем 4 адресам - "с www и без" и "с ssl и без"), например, то редирект не срабатывает (ощущение, что проблема в точке "." в адресе).

В чём причина?

 

P.S. Уважаемый @19th19th, покажите свой .htaccess :) (у вас такой проблемы не обнаружил).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, RHCk сказал:

покажите свой .htaccess :) (у вас такой проблемы не обнаружил).

единственное что есть от хттпс у меня, это

Цитата

RewriteRule ^(.*)$ https://liveopencart.ru/$1 [R=301,L]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, 19th19th сказал:

единственное что есть от хттпс у меня

А перед этой строкой какое условие(я) стоит (начинается с RewriteCond)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, RHCk сказал:

А перед этой строкой какое условие(я) стоит (начинается с RewriteCond)?

RewriteCond %{HTTP_HOST} ^www.liveopencart\.ru$ [NC]
RewriteRule ^(.*)$ https://liveopencart.ru/$1 [R=301,L]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, 19th19th сказал:

RewriteCond %{HTTP_HOST} ^www.liveopencart\.ru$ [NC]

RewriteRule ^(.*)$ https://liveopencart.ru/$1 [R=301,L]

Отличие от моего варианта во второй строке - https://

Но ничего не изменилось.

Поговорю ещё с поддержкой, может они что предложат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: RHCk
      UPD ПРАВИЛА ТЕМЫ:
       
      Тема создана для описания основ безопасности CMS Opencart.
      Если что-то упустил, пишите.
       
      0. ВАЖНО! Перед началом любых экспериментов делаем бэкап файлов и базы сайта!!!
      1. Установка
      1.1 При установке меняем префикс базы данных на другой - например "ос_" на "sn_" (и помним об этом).
      1.2 Логин для админки НЕ должен быть admin! Пароль админки должен быть сложным, который содержит как минимум заглавные, строчные символы и цифры. Для этого пользуем генераторы паролей (они есть практически в любом менеджере паролей, также бывают отдельными программами). Онлайн генераторы от @savage4pro - тут и здесь.
      1.3 После установки или обновления CMS обязательно удаляем каталог install.
      1.4 Очень часто взлом и заражение ИМ происходит через соседей (устаревшие или не обновленные CMS в одном аккаунте с ИМ). Важно помнить - в одном аккаунте один магазин.
       
      2. Настройка CMS
      2.1 После установки отключаем вывод ошибок на "морду" магазина (Система -> Настройки -> Редактировать -> Вкладка Сервер -> Раздел Безопасность -> Ключ шифрования -> С помощью генераторов из п-та 1.2 генерируем новый (длина 1024).
      2.2 Там же отключаем вывод ошибок на "морду" магазина (Система -> Настройки -> Редактировать -> Вкладка Сервер -> Раздел Обработка ошибок -> Показывать ошибки -> НЕТ). Включать вывод ошибок нужно по необходимости - установка нового модуля, изменение функционала и т.д. (помним про п-кт 0).
      2.3 Часто, перед покупкой или установкой модулей, разработчики предлагают проверить соответствие вашего хостинга требованиям модуля. В корневой каталог сайта копируется info.php, заходим по адресу <сайт>/info.php видим инфу, определяемся с модулем и удаляем файл info.php, дабы не оставлять подсказку разным негодяям.
      2.4 Пользователям, на сайтах которых настроен обмен, следует проверить недоступность снаружи следующих адресов:
      domain.com/system/storage/cache/exchange1c/import.xml domain.com/system/storage/cache/exchange1c/offers.xml domain.com/system/storage/cache/exchange1c/orders.xml 2.5 ВАЖНО! Присутствующие на сайте тяжелые скрипты (если имеются), такие как парсеры, генераторы карт и прайс-листов, и т.д., не должны быть доступны всем подряд извне.
       
      3. Настройка хостинга
      3.1 Средствами .htaccess можно ограничить доступ в админку вводом дополнительных логина и пароля (.htpasswd) и возможностью входа только с определенного IP-адреса. Перед этим важно не забыть получить статический IP-адрес у своего интернет-провайдера. Если будет интерес, можно сделать подробное описание этого метода.
      Видел модуль, добавляющий капчу от Гоши в форму авторизации админки. Штука полезная, ибо усложняет процесс сбручивания пароля разными кулхацкерами.
      3.2 При установке CMS, добавлении функционала, установке модулей (предоставления доступа к файлам CMS разработчикам модулей и т.д.) требуется доступ к хостингу по FTP (SFTP). Для таких случаев создаем отдельные учётные записи на хостинге, с доступом только к необходимым ресурсам. Требования к учётной записи те же, что и в пункте 1.2.
      ВАЖНО! После проведения работ обязательно отключаем доступ по FTP. Об этом забывают 90% будущих Рокфеллеров.
      3.3 В .htaccess должен присутствовать запрет на чтение файлов/каталогов(папок) с "." (точкой) в начале имени:
      RedirectMatch 403 /\..*$  
      4. Периодические мероприятия
      4.1 ВАЖНО! Необходимо регулярно делать бэкапы. Чем чаще делаются бэкапы, тем меньши информации будет потеряно в случае форс-мажора. Есть шутка "Админы делятся на две группы - на тех, кто не делает бэкапы и тех, кто уже делает".
      Бэкап файлов делаем с помощью FileZilla (или архивируем хостингом, а забираем ей же). Бэкап базы делаем с помощью Sypex Dumper 2.
      4.2 ВАЖНО! Категорически нельзя складывать бэкапы в каталог (папку) сайта! Поэтому все бэкапы (архивы бэкапов) забираем с хостинга. Место для хранения бэкапов подбирается из расчета хранения 10 архивов: 1 ежемесячный, 3 еженедельных, 6 ежедневных.
      4.3 ВАЖНО! Регулярно меняйте пароли (не реже раза в три месяца) ко всем учётным записям (админка, ftp и т.д.) и базам данных! Пароль к базе данных хранится в двух файлах config.php (из корня и в папке admin) в следующей записи:
      define('DB_PASSWORD', '7EJCE9vIAEfGExueZ3vn'); где 7EJCE9vIAEfGExueZ3vn - есть пароль. 4.4 ВАЖНО! Регулярно проверяем кроневой каталог и папки cache и download на предмет посторонних файлов. Особое внимание уделяем файлам, в которых присутствуют закодированные base64 элементы.
      В коренвом каталоге сайта должны быть только следующие файлы:
       
      В планах:
       
      P.S. Данная инструкция была написана при поддержке @savage4pro и @Yoda.
      P.P.S. #opencartsecurity #безопасностьвопенкарт #хуйнаныр
       
    • Автор: Serg-24
      Есть вопрос. Пишут так о HTTPS (и при общении с админами хостланд.ру - они то же говорили про допоплату) - 
      Купить и установить сертификат на сервер. Цены начинаются примерно от 2500 рублей в год. Можно, конечно, и не покупать, но тогда пользователей будут постоянно предупреждать, что используется недоверенный сертификат. Сам сертификат состоит из двух частей: открытый и закрытый ключ (public и private). Первый используется для шифрования данных от клиента к серверу, а второй для расшифровки этих данных уже на сервере. Установка сертификата также зависит от сервера, плюс от операционной системы.
       - Это для тех кто хочет безопасное соединение сделать...
       Так, как получается? Платить хостерам (домена где находится сайт 2500 руб.)  за такое соединение или оно будет образованно автоматически и платить за сертификат не нужно? 
       
      - Так как получается? Разъясните пожалуйста...
      1) Будет ли работать сайт (опенкарта) на сертификате своем?
      2) Что нужно для того что бы сертификат (если сайт его может сам генерировать) - заработал?
      3) Если п. 1 и 2 - позволяют работать без платного сертификата - Разясните порядок действий, как его ставить. 
       Поставьте точку в этой дилемме. Спасибо!!!
       
       
    • Автор: Yoda


      Просмотреть файл HTTPS Fix для Opencart v2.X
      Небольшой мод, который заставляет Opencart работать корректно с обоими протоколами одновременно.
      Как того требует Яндекс какое то время, при переезде на HTTPS. Для правильной работы фикса у вас должны отличаться HTTP_CATALOG и HTTPS_CATALOG  в config.php.

      Также мод фиксит проблемы определения протокола, при нестандартных настройках связки nginx => apache.
       
      Кроме вашего покорного слуги решению приложили руки @markimax и @savage4pro.
       
      Если кто захочет заслать благодарности - куда слать у них в профилях.
      Автор Yoda Добавлен 24.10.2016 Категория Прочее  
    • Автор: Aleks
      Добрый день!
      Попутно с переездом домена решил сразу настроить SSL на новом домене, чтобы 2 раза не кормить новое зеркало поисковикам.
      Инструкцию по переезду на https для версии 1.5 использовал с yoda блога. http://ocshop.info/kostyli-dlya-normalnogo-pereezda-na-https-pod-opencart-1-5-x-dlya-togo-chtoby-ne-vypast-iz-indeksa-yandex/.

      Все сделал, перепроверил не один раз. Кеши чистил и руками и модулями, браузеры чистил, проблема следующего рода осталась:
       
      Mixed Content: The page at 'https://mysite.ru/' was loaded over HTTPS, but requested an insecure stylesheet 'http://mysite.ru/image/seocms.css'. This request has been blocked; the content must be served over HTTPS. 
       
      response.hph выглядит следующим образом
       
       
      Может есть у кого нибудь решение? Может не правильно что-то поправил?
      Подскажите, пожалуйста!
       
    • Автор: Jarama
      Здравствуйте, господа!
       
      Кто может помочь переехать маленькому магазинчику на ocstore 2.1.0.1 на https? 
      Можно в скайп писать: max_nexus
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу