RHCk

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

Recommended Posts

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

 

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

Подскажите, у меня сайт без 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
      ПРАВИЛА ТЕМЫ:
       
      UPD07.03.2018 Яндекс заменит директиву HOST на 301-й редирект - больше информации ЗДЕСЬ.
       
      Данная инструкция актуальна для Opencart.PRO и Opencart.CMS всех версий!
       
      0. ВАЖНО! Перед началом любых экспериментов не забываем делать бэкап файлов и базы данных сайта!!!
       
      1. Для перехода на SSL (HTTPS) нужен сертификат, получить его можно здесь:
      ВАЖНО! Сертификат от Let'sEncrypt помимо своей бесплатности с некоторого времени может быть WildCard, т.е. выдаваться для основоного домена - domain.tld и всех поддоменов *.domain.tld
      2. Далее необходимо установить сертификат на сервер или передать его хостинг-провайдеру, для установки на сервер (на котором размещен ваш сайт), либо активировать/сгенерировать его в ПУ хостинга/сервера. Более подробно о данной процедуре можно узнать у службы технической поддержки вашего хостинг-провайдера.
       
      3. Настраиваем CMS для работы с SSL.
      3.1 В файлах /config.php и admin/config.php делаем замены:
      3.2 Идём Система -> Настройки -> Редактировать -> Вкладка Сервер -> Использовать SSL: выбираем Да.
      3.3 Производим следующие действия в файле robots.txt:
      если sitemap вашего сайта не отдается фидом, добавляем в обе секции (User-agent: * и User-agent: Yandex) файла robots.txt директиву:
      Sitemap: httрs://mysite.com/sitemap.xml если sitemap вашего сайта отдается фидом, отдаем ПСам новый фид (на HTTPS).  
      4.  Далее необходимо настроить 301-й редирект с HTTP на HTTPS.
      Это можно сделать двумя способами:
      Включить редирект в ПУ хостинга/сервера (требуется проверка, что редирект 301-й) Добавить редирект в файл .htaccess  
      В виду того, что у разных хостинг-провайдеров разные настройки серверов, необходимо выбрать тот вариант редиректа, который будет работать, либо запросить рабочий вариант у вашего хостинг-провайдера. Как проверить работу редиректа читайте ниже.
      ВАЖНО! Подразумевается, что редирект с "с www" на "без www", или наоборот, у вас уже настроен. Если нет, смотрите здесь или в пункте 4.1.2.
      ВАЖНО! Изменения вносятся в файл .htaccess в корневом каталоге сайта.
      ВАЖНО! Редиректы в файле .htaccess необходимо добавлять сразу после строки с 'RewriteBase /'. Если не работает, попробуйте поставить выше, сразу после строки с  'RewriteEngine On'. О результатах экспериментов пишите в этой теме.
      4.1 Варианты редиректов:
      4.1.1 Редиректы от @Yoda:
      4.1.2 Редиректы от @savage4pro:
      4.1.3 Редиректы от Timeweb.ru:
      4.1.4 Редиректы для ukraine.com.ua:
      4.1.5 Редирект для masterhost.ru (говорим спасибо @Yoda здесь)
      4.1.6 Редирект для webhost1.ru:
      4.1.7 Редирект для связки nginx и Apache:
      4.1.8 Редирект для jino.ru:
      4.1.9 Редирект для hostpro.ua:
      4.1.10 Редирект для beget.ru (говорим спасибо @BuslikDrev здесь)
       
      5. Проверка. Чтобы проверить корректность работы произведенных изменений необходимо сделать следующее:
      5.1 Если у вас настроен редирект с "с www" на "без www"
      идём на сайт по HTTP с WWW, должны получить HTTPS без WWW; идём на сайт по HTTP без WWW, должны получить HTTPS без WWW; идём на сайт по HTTPS с WWW, должны получить HTTPS без WWW. 5.2 Если у вас настроен редирект с "без www" на "с www"
      идём на сайт по HTTP с WWW, должны получить HTTPS с WWW; идём на сайт по HTTP без WWW, должны получить HTTPS с WWW; идём на сайт по HTTPS без WWW, должны получить HTTPS с WWW. 5.3 Отдельно можно проверить как после всех изменений ваш сервер отдает статические файлы, например, фото товаров.
      Зайдите на страницу товара, скопируйте ссылку на фото товара, вставьте её в строку браузера и поэкспериментируйте согласно пунктам 5.1 - 5.2, и посмотрите по какому протоколу будет отдаваться статика. 
      5.4 У некоторых хостинг-провайдеров есть возможность включить редирект в ПУ. Тут следует обратить внимание на то, каким редиректом будет осуществляться переадресация - 301-м или 302-м. Нужен 301-й. Как посмотреть? Можно здесь, вкладка Details. Также показывает редирект Screaming Frog SEO Spider, браузер тоже показывает (F12). Пробуйте.
      5.5 Проверьте сайт на наличие ссылок по HTTP. Это могут быть ссылки в статьях или описаниях товаров. Необходимо изменить в них HTTP на HTTPS или сделать их относительными, т.е. без доменного имени сайта.
       
      6. Далее добавляем новый сайт на HTTPS в Вебмастеры ПС:
       
      7. Дополнительная информация:
      от Яши - здесь, здесь, здесь и здесь.  от Гоши - здесь и здесь.  
      ВАЖНО! Все внешние скрипты, стили, шрифты и прочие iframe должны подключаться строго по HTTPS и никак иначе!
      В противном случае получим кучу ошибок в консоли браузера и корявости на сайте. 
       
      ПОЛЕЗНО! Сервис для проверки поддержки сервером ALPN (требуется OpenSSL 1.0.2+) для переключения на HTTP/2 - KEYCDN
      ПОЛЕЗНО! Сервис для проверки установленного сертификата - SSLSHOPEER
      ПОЛЕЗНО! Сервис для проверки установленного сертификата - QUALYS SSL LABS
      ПОЛЕЗНО! Сервис для мониторинга доступности сайта - HOST-TRACKER
    • Автор: 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 #безопасностьвопенкарт #хуйнаныр
       
  • Сейчас на странице   0 пользователей

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