Как сделать https – Хостинг Node.js https сервера с авто-обновляемым SSL в облаке и как я настроил цикл разработки (+ git, react)

Содержание

Как перенести сайт на HTTPs. Пошаговая инструкция — Devaka SEO Блог

Многие серьезные проекты использовали HTTPS ещё в 2000х, часть перешли на защищенный протокол в 2010-2011, когда был большой бум из-за утилит иранского хаккера Марлинспайка Firesheep и SSLStrip, позволяющих воровать персональные данные с незащищенных сайтов. Совсем недавно правительство США поручило всем федеральным сайтам перейти в срочном порядке на HTTPS до конца 2016 года. И уже совсем скоро Mozilla Firefox перестанет поддерживать небезопасные HTTP-соединения в браузере. В связи с этим, предвидится новый бум и массовый переход на HTTPS. Рано или поздно вам тоже придется с этим столкнуться.

Чтобы сильно не рисковать незначительным снижением трафика, как раз летом, в отсутствие сезона, у вас есть время заняться переносом сайта с HTTP на HTTPS. Тем более, что Яндекс прекратил обновлять выдачу, а Google обещает давать приоритеты защищенным сайтам.

Как же перенести свой сайт на HTTPs? Ниже представлена пошаговая инструкция.

Как перенести сайт на HTTPs, подробная инструкция

1. Подготовка сайта

Исправить некоторые моменты в коде сайта лучше до перехода на HTTPS, чтобы избавиться от возможных технических проблем.

— Смена ссылок внутренней перелинковки с абсолютных на относительные.

Относительные ссылки бывают двух типов:

1. Относительные вне зависимости от домена

https://devaka.ru/about/ — абсолютная.
/about/ — относительная.

2. Относительные вне зависимости от протокола.

https://devaka.ru/about/ — абсолютная
//devaka.ru/about/ — относительная

Необходимо использовать ссылки последнего вида, когда вы исключаете название протокола. Таким образом, не важно, на HTTP ваш сайт или на HTTPS, он будет всегда ссылаться на страницы с тем же протоколом. Обратите внимание, что мы говорим про внутренние ссылки, так как внешние сайты могут вовсе не поддерживать HTTPS, поэтому ссылки на них мы оставляем как и были.

Если у вас несколько связанных проектов или поддоменов одного сайта, и все из них вы переводите на HTTPS, то относительная структура ссылок поможет правильной индексации поисковыми системами и верному перенаправлению пользователей.

— Исправление вложений медиа-контента

Проверьте, какой медиа-контент (изображения, видео, презентации, и др.) вы используете у себя на сайте и по какому протоколу его запрашиваете. Здесь необходимо тоже все перевести в относительные адреса, и тогда при переходе на HTTPS у вас медиа-контент также будет подгружаться с защищенных сайтов. Но стоит убедиться, что он действительно доступен по HTTPS.

Если используемые вами картинки хранятся на вашем сайте, то просто используйте относительные адреса //site.ru/img/mega-image.jpg. Если вы подгружаете картинки с внешних ресурсов (CDN или других сайтов), то они также должны поддерживать HTTPS, иначе стоит отказаться от этих вложений.

Популярные сервисы, которые позволяют внедрять свой контент, типа YouTube, SlideShare, виджеты VK или Facebook, и другие, уже давно поддерживают HTTPS, поэтому с ними проблем не возникнет. Но если вы используете медиа-контент с непопулярных сервисов, то уточните, будет ли этот контент работать/отображаться, если вы смените протокол.

— Исправление подключений внешних скриптов

Во внешних скриптах также нужно использовать относительные URL. Например, для библиотеки jQuery, вместо кода:

<script src=»http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js»></script&gt;

Нужно использовать:

<script src=»//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js»></script>

Также и с другими скриптами: Яндекс.Метрика, LiveInternet, Google Analytics, Яндекс.Директ, различные javascript библиотеки и др. Здесь принцип тот же: популярные сервисы и библиотеки поддержкивают HTTPS, а вот с непопулярными могут возникнуть проблемы (как например, у ПриватБанка или Корреспондента с сетью MediaTraffic, которые до сих пор её использует по небезопасному соединению).

Подготовительная работа может занять много времени, поэтому все эти исправления лучше делать до полного переноса сайта с HTTP на HTTPS. Если для некоторых проектов стоимость переноса зависит в большей степени от стоимости SSL-сертификата и 1 часа программиста, то у других проектов стоимость переноса как раз заключается в подготовительных работах, так как не все партнеры, которые помогают этим проектам монетизироваться, могут поддерживать защищенный HTTPS протокол.

2. Установка SSL-сертификата

После того, как вы сделали все внутренние и внешние ссылки относительными, проверили доступность медиа-контента и скриптов по протоколу HTTPS, можно заняться установкой и настройкой SSL-сертификата.

— Выбор и приобретение подходящего SSL-сертификата

Существует несколько видов SSL-сертификатов. В зависимости от специфики вашего проекта, нужно выбрать наиболее подходящий сертификат.

1. Обычные сертификаты подходят физическим и юридическим лицам, выдаются на один домен и их выпуск занимает несколько минут. Здесь происходит лишь проверка принадлежности домена тому, кто запрашивает сертификат.

2. EV (Extended Validation). Сертификаты с расширенной проверкой компании. Помимо принадлежности домена тому, кто запрашивает сертификат, здесь также проверяются наличие организации, свидетельство о государственной регистрации, наличие названия компании в whois домена, проверочные звонки и многое другое. EV-сертификат дает возможность получить зеленую строку в адресной строке браузера с названием компании (как вы уже заметили это у Твиттера или на других сайтах).

3. Wildcard. Сертификаты, которые выдаются на все поддомены одного домена. Если у вас много региональных или других поддоменов, то обязательно нужно брать wildcard-сертификат.

4. С поддержкой IDN. Не все сертификаты поддерживаются для кириллических доменов. Если у вас кириллический домен, то нужно искать сертификаты с поддержкой IDN.

Подробнее о видах сертификатов можно ознакомиться в этой статье:
http://habrahabr.ru/company/tuthost/blog/150433/

— Установка сертификата на сервере

Большинство хостеров предоставляют возможность через панель управления быстро установить выданный сертификат. Если у вас возникнут с этим проблемы, обратитесь в тех-поддержку хостинга или наймите на 1 час программиста. Установка обычно происходит пару минут, но при этом сам сервер должен поддерживать SSL протокол. Если у вас не популярный хостинг, то уточните у хостера, поддерживают ли они SSL и как вам можно установить сертификат.

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

— Проверка доступности сайта через HTTPS-протокол

Установив ssl-сертификат, убедитесь, что теперь сайт доступен по двум адресам, с http:// и https://. Если по какому-то адресу он оказался недоступным, то нужно срочно искать причину и решать эту проблему.

3. Настройка сайта

После успешной настройки сертификата на сервере можно заняться настройкой сайта. Здесь тоже придется попотеть.

— Настройка директивы Host в файле robots.txt

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

Яндекс требует для новой версии сайта указать директиву Host в файле robots.txt, где явно прописать используемый протокол. Например, в моем robots это выглядит так:

Host: https://devaka.ru

Теперь Яндекс будет знать, что среди всех зеркал, указанное вами с протоколом HTTPS – самое главное.

— Установка 301 редиректа с http на https

Раньше (еще в начале года) требовалось ждать, пока Яндекс переклеит зеркала, и уже потом перенаправлять пользователей. Это могло плохо повлиять на трафик из Google. Сейчас не обязательно ждать работу зеркальщика Яндекса, а можно сразу настраивать 301 редирект с HTTP версии на HTTPS.

Для большинства серверов подойдут такие строчки кода в .htaccess-файле:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

Если этот код не сработает, то обратитесь в техподдержку хостинга за консультацией.

— Исправление найденных ошибок

Проверьте все свои ссылки, доступность сайта, корректность перенаправлений, наличие замочка в адресной строке браузера, все должно работать идеально. Исправьте, если что-то работает не так.

4. Сообщение поисковикам о переносе

Чтобы снизить риски потери поискового трафика, обо всей проделанной вами работу нужно сообщить поисковикам. Но для этого не надо писать им на почту 🙂 здесь нужно использовать панель для вебмастеров.

— Добавление https-версии сайта в панель для вебмастеров

И в Google и в Яндексе необходимо добавить и подтвердить новый сайт, указав версию https. Теперь у вас в списке сайтов будет и та и другая версии. Для Google дополнительных настроек больше делать не надо, достаточно присутствия 301 редиректов.

— Изменение адреса в панели для Яндекса

Для Яндекса необходимо у HTTP-сайта указать главное зеркало HTTPS. Делается это в панели для вебмастеров в меню “Настройка индексирования” — “Главное зеркало” — “Установить протокол HTTPS”.

— Перенос дополнительных настроек в панели для вебмастеров со старого хоста на новый

Если для старой версии сайта в панели у вас присутствовали дополнительные настройки, то их нужно перенести на новую версию, чтобы она воспринималась аналогично. Например, одни из важных настроек, которые надо проверить и перенести, это:

– Настройки региона (геотаргетинг)
– Файлы Sitemap.xml
– Список ссылок в Disawov Tool для Google
– Исключенные параметры URL для Google

5. Ожидание переиндексации

На этом все, ваш сайт и ваши пользователи защищены. Google и Яндекс со временем поменяют адрес вашего сайта в поиске.

Смотрите также мой вебинар про особенности перехода на https и возможные проблемы и их решение.

Мигрируем на HTTPS / Habr

В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно.

Каждый шаг улучшает ваш сервер и важен сам по себе. Однако, сделать их все – обязательно для того, чтобы гарантировать безопасность вашим посетителям.

Для кого предназначена эта инструкция?

Администраторы, разработчики и их менеджеры – те, кто обслуживает сайты, в данный момент использующие только HTTP-соединение. При этом они желают мигрировать, или хотя бы поддерживать, HTTPS.
1: Получение и установка сертификатов

Если вы ещё не получили сертификаты – необходимо выбрать поставщика, и купить сертификат. Сейчас есть пара возможностей даже получить сертификаты бесплатно – например, их выдаёт контора RapidSSL. Кроме того, в 2015 году Mozilla обещают сделать бесплатную выдачу сертификатов.

Скопируйте полученные сертификаты на ваши фронтенд-сервера куда-нибудь в /etc/ssl (Linux / Unix) или в приемлемое место для IIS (Windows).

2: Включение HTTPS на сервере

Здесь надо определиться:

— либо использовать хостинг по IP, когда у каждого хоста свой IP
— либо отказаться от поддержки пользователей, которые используют IE на Windows XP или Android с версией менее 2.3

На большинстве сайтов настроен виртуальный хостинг, который работает с доменными именами (name-based) – это экономит IP-адреса и вообще более удобно. Проблема в том, что IE и древний Android не понимают Server Name Indication (SNI), а это критично для работы HTTPS при name-based хостинге.

Когда-нибудь все эти клиенты вымрут. Вы можете отслеживать количество таких клиентов и решить, нужно их поддерживать или нет.

Далее настройте поддержку сертификатов, которые вы получили, в вашем веб-сервере. Конфигурацию сервера можно создать через Mozilla configuration generator или SSLMate.

Если у вас много хостов и поддоменов – кажды из них потребует установки подходящего сертификата. Для поддоменов лучше использовать сертификаты с маской типа *.domain.ru

В идеале, вам необходимо переадресовывать все запросы к HTTP на HTTPS и использовать Strict Transport Security (см. шаги 4 и 5)

После этого проверьте работу сайта с новыми настройками при помощи инструмента Qualys SSL Server Test. Добейтесь того, чтобы сайт заслуживал оценки A или A+.

3: Сделайте все внутренние ссылки относительными

Теперь, когда ваш сайт работает и на HTTP и на HTTPS, вам нужно добиться его работы вне зависимости от протокола. Может возникнуть проблема смешанных протоколов – когда на странице, которую грузят через HTTPS, указаны ресурсы, доступные по HTTP. В этом случае браузер предупредит пользователя, что защита, предоставляемая HTTPS, перестала работать на 100%.

По умолчанию многие браузеры вообще не будут загружать смешанный контент. Если это будут скрипты или стили, страница перестанет работать. К слову, включать в страницу, загруженную по HTTP, контент, доступный через HTTPS, можно без проблем.

Проблема эта решается заменой полных линков на относительные. Вместо такого:

<h2>Welcome To Example.com</h2>
<script src="http://example.com/jquery.js"></script>
<link rel="stylesheet" href="http://assets.example.com/style.css"/>
<img src="http://img.example.com/logo.png"/>
<p>Read this nice <a href="http://example.com/2014/12/24/">new post on cats!</a></p>
<p>Check out this <a href="http://foo.com/">other cool site.</a></p>

надо сделать такое:

<h2>Welcome To Example.com</h2>
<script src="//example.com/jquery.js"></script>
<link rel="stylesheet" href="//assets.example.com/style.css"/>
<img src="1450829848287066165294"/>
<p>Read this nice <a href="//example.com/2014/12/24/">new post on cats!</a></p>
<p>Check out this <a href="http://foo.com/">other cool site.</a></p>

или такое:

<h2>Welcome To Example.com</h2>
<script src="/jquery.js"></script>
<link rel="stylesheet" href="//assets.example.com/style.css"/>
<img src="1450829848287066165294"/>
<p>Read this nice <a href="/2014/12/24/">new post on cats!</a></p>
<p>Check out this <a href="http://foo.com/">other cool site.</a></p>

Все линки должны быть относительными, и чем относительнее, тем лучше. По возможности надо убрать протокол (//example.com) или домен (/jquery.js).

Лучше делать это при помощи скриптов, и не забыть про контент, который может находиться в базах данных, скриптах, стилях, правилах редиректа, тегах link. Проверить сайт на наличие смешанного контента можно скриптом от Bram van Damme.

Естественно, в ссылках на другие сайты протоколы менять не нужно.

Если в вашем сайте используются скрипты и другие ресурсы от третьих лиц, например CDN, jquery.com, у вас есть 2 варианта:

— также использовать URL без указания протокола
— скопируйте эти ресурсы к себе на сервер. Это в любом случае надёжнее

4: Переадресация с HTTP на HTTPS

Установите тег
<link rel="canonical" href="https://…"/> 

на ваших страницах. Это поможет поисковым системам лучше ориентироваться у вас.

Большинство веб-серверов предлагают простые решения для редиректа. Инструкции для Apache и для nginx. Используйте код 301 (Moved Permanently).

5: Включите Strict Transport Security и Secure Cookies

На этом шаге вы уже ограничиваете доступ к сайту только для HTTPS. Strict Transport Security сообщает клиентам, что им надо соединяться с сайтом только по HTTPS, даже если ссылка идёт на http://. Это помогает против атак типа SSL Stripping и экономит время на переадресациях из четвёртого шага.

Убедитесь, что ваши TLS-настройки реально работают – например, сертификат не просрочен. На этом шаге любая ошибка будет блокировать доступ к сайту.

Включите HTTP Strict Transport Security посредством заголовка Strict-Transport-Security. На этой странице есть ссылки на инструкции для разных серверов.

Примечание: max-age измеряется в секундах. Начните с небольших величин и по мере роста уверенности в работе сайта увеличивайте их.

Для того, чтобы клиенты всегда отправляли куки по защищённому каналу, включите флаг Secure для куков. На этой странице есть инструкция для этого.

Проблемы с миграцией

Позиция в поисковой выдаче

Google ставит наличие HTTPS в плюс сайтам. У Google также есть инструкция по тому как переходить на безопасный режим, не теряя позиций в поиске. Также такие инструкции есть у Bing.

Быстродействие

Когда сервер работает нормально, траты на TLS обычно малы. По поводу их оптимизации читайте High Performance Browser Networking by Ilya Grigorik и Ivan Ristic’s OpenSSL Cookbook и Bulletproof SSL And TLS.

В некоторых случаях TLS может увеличить быстродействие – это справедливо в случае использования HTTP/2.

Заголовки Referer

Клиентские программы не отправляют Referer, когда пользователи переходят по ссылкам с вашего HTTPS-сайта на другие HTTP-сайты. Если вам это не нравится:

— другие сайты тоже должны мигрировать на HTTPS. Предложите им эту инструкцию. Если они дойдут хотя бы до 2 шага, то ситуация выправится
— вы можете использовать новый стандарт Referrer Policy, решающий проблемы с этими заголовками

Так как поисковики мигрируют на HTTPS, то вы скорее всего получите больше заголовков Referer, когда сами перейдёте на HTTPS.

Согласно HTTP RFC:

Клиент НЕ ДОЛЖЕН включать заголовок Referer в небезопасный HTTP-запрос, если ссылающаяся страница получена по безопасному протоколу.

Монетизация

Если на вашем сайте крутятся объявления рекламной сети, может возникнуть проблема –iframe с HTTP не будут работать на странице с HTTPS. Пока все рекламодатели не перейдут на HTTPS, операторы не могут перейти на HTTPS, не теряя рекламных доходов. Но пока операторы не мигрируют на HTTPS, у рекламодателей нет мотивации для миграции.

Рекламодатели должны хотя бы предлагать вариант своих сервисов с поддержкой HTTPS (достаточно дойти до 2 шага этой инструкции). Многие так и делают. Вам, возможно, придётся отложить 4-й шаг до тех пор, пока большинство из них не станут нормально поддерживать этот протокол.

Как перейти с http на https? Пошаговая инструкция. Переход на Https в Joomla и WordPress

Всем привет! В данной статье затронем тему безопасности, а именно безопасный протокол передачи данных — https. Если вы обратили внимание мой блог, на котором вы сейчас находитесь работает по протоколу https, на который я перешел недавно. Также, на https я перевел один из моих клиентских сайтов. Пришлось немного повозиться и понервничать, но в итоге все получилось. Я подумал, что надо обязательно написать об этом на блоге — как перейти с http на https безболезненно для сайта, тем более эта тема я считаю уже популярна, т.к. сегодня все больше и больше сайтов переходят на https.

Что меня побудило перейти на протокол https? В последнее время мне на глаза стали попадаться вот такие заголовки: Браузер Mozilla Firefox в скором времени перестанет поддерживать небезопасные http-соединения; Правительство США поручило всем государственным сайтам перейти на HTTPS; C января 2017 года все сайты, передающие секретные данные (пароли, номера кредитных карт и т.д.) по незащищенному соединению в браузере Google Chrome будут помечаться как небезопасные. Плюс ко всему где-то в интернете читал, что скоро всем сайтам придется перейти на протокол https в обязательном порядке. Я подумал, что в один прекрасный день все равно эта участь постигнет и меня. Так зачем же тянуть? Тем более хостинг beget.ru, на котором я сижу предоставил возможность для приобретения бесплатных SSL-сертификатов. В общем, собрал всю необходимую информацию по тому, как перейти с HTTP на HTTPS и сделал это. 

smilesmile

Структура статьи

Зачем нужно использовать https и что имеется ввиду под безопасностью?

Если говорить кратко, то протокол https позволяет отправлять запросы на сервер с нашего сайта в зашифрованном виде, гарантируя при этом, что эти самые данные не будут перехвачены хакерами. Элементарный пример передаваемых данных — это авторизация на сайте (или регистрация). В процессе авторизации мы отправляем запрос на сервер, который содержит логин и пароль. Так вот, если отправлять эти данные по небезопасному соединению, то они легко могут быть перехвачены, что в результате может привести к взлому сайта. Работу протокола https обеспечивают SSL сертификаты. Они бывают разных видов, про виды сертификатов читайте ниже.

Весь процесс я решил разделить на шаги и выполнять их как раз именно в такой последовательности. Также ниже я дам рекомендации по переходу для популярных cms Joomla и WordPress. У каждого есть свои особенности.

Приобретение сертификата

Для начала необходимо приобрести SSL сертификат, чтобы ваш сайт был доступен по обоим протоколам — http и https.  Давайте сначала внесем некоторые ясности в виды SSL сертификатов.

Виды сертификатов

Простые сертификаты

Такие сертификаты выдаются на один или несколько доменов и подходят как физическим, так и юридическим лицам. Как правило, на выпуск таких сертификатов не уходит много времени, может быть выпущен даже в течении 5 минут. Чтобы получить такой сертификат необходима только проверка принадлежности к домену того, кто его запрашивает.

Wildcard SSL

Wildcard SSL — прекрасно подойдет сайтам с наличием поддоменов. В данном случае достаточно выпустить один сертификат, который будет работать на всех поддоменах и позволит сэкономить деньги на покупку отдельных сертификатов.

Мультидоменные SSL сертификаты

Мультидоменный SSL сертификат — сертификат, который может поддерживать сразу несколько доменов. Также, как и Wildcard позволит сэкономить денежку. Так что имейте ввиду, если у вашей компании или проекта имеется несколько доменных имен, то выбирайте именно мультидоменный сертификат.

EV (Extended Validation) сертификаты

EV (Extended Validation) — расширенная проверка компании. Данный вид сертификата могут позволить себе купить только крупные компании. Для его получения необходимо предоставить всю подробную информацию о компании — название организации, реквизиты, наличие о государственной регистрации, реальные звонки для утверждения полученных данных и многое другое. Да, получение такого вида сертификата дело хлопотное, но поверьте оно того стоит. Более того, рядом с адресной строкой в браузере будет отображаться название компании. Вот как это выглядит на примере сайта Сбербанка.

Отображение SSL сертификата в СбербанкОтображение SSL сертификата в Сбербанк

Смотрится круто и повышает доверие потенциального клиента. Поэтому, владельцам крупных компаний рекомендуется выпуск именно EV сертификатов.

Сертификаты с поддержкой IDN

Не все сертификаты поддерживают кириллические домены. Если у вас домен кириллицей в зоне РФ, то вам следует приобрести сертификат с поддержкой IDN.

Подробнее про виды сертификатов и их стоимости вы можете почитать в интернете. Здесь же я привел лишь некоторые, чтобы вы имели понятие, что сертификаты SSL бывают разные.

Получение сертификата

Сегодня приобрести сертификат SSL для сайта можно абсолютно бесплатно. Уже давно Google заявил о том, что пора уже переходить всем на безопасный прокол https и что предпочтение в ранжировании будет отдаваться сайтам именно с защищенным соединением. Кстати, это еще одна причина по которой я перешел на https. В общем, в связи с этим всем в свет появился проект под названием Let’s Encrypt. В первую очередь данный проект рассчитан на доступность приобретения SSL сертификата, а также облегчить жизнь рядовым веб-разработчикам с установкой сертификатов (генерация приватных ключей и прочее). И что самое главное — сертификаты, выдаваемые Let’s Encrypt, абсолютно бесплатные. Лично на моем блоге стоит именно такой сертификат.

Я получил сертификат SSL от Let’s Encrypt в панели управления beget.ru. Если вы пользуетесь данным хостингом, то получить его будет проще простого. Заходите в панель управления Бегет, далее переходите в раздел «Домены» и в списке доменов щелкаете по иконке SSL.

Получение SSL сертификата в БегетПолучение SSL сертификата в Бегет

Иконка рядом с доменом говорит о том, что сертификат уже установлен. Попав в раздел SSL, открываем вкладку «Бесплатный SSL сертификат«. Если у вас имеются поддомены на выбранном домене, то лучше сразу выберите и их тоже, т.к. если этого не сделать сразу, то в дальнейшем придется перевыпускать сертификат.

Выбор бесплатного сертификата в БегетВыбор бесплатного сертификата в Бегет

Настройка сайта

Загружаемые ресурсы

Для перевода сайта на HTTPS необходимо выполнить некоторые настройки на сайте, касается это загружаемых ресурсов. Что подразумевается под ресурсами, это — скрипты, стили, картинки, аудио, видео, т.е. все те ресурсы, которые загружаются браузером с вашего сайта через протокол http. Существуют относительные и абсолютные адреса. Чем они отличаются?

Относительный адрес:

/image.jpg

Относительный адрес вне зависимости от протокола:

//sitename.ru/image.jpg

Абсолютный адрес:

http://sitename.ru/image.jpg

В абсолютном адресе указывается доменное имя сайта с протоколом. Так вот, при переходе на https необходимо применять относительные адреса вне зависимости от протокола, т.е. отсекая сам протокол. При таком подходе ресурсы будут загружаться по такому же протоколу, что и ваш и не важно на http он или на https. Единственное условие — если вы загружаете ресурсы с внешних сайтов (например, с CDN), то данные сайты должны быть доступны по https, иначе от них придется отказаться.

Например, загрузка библиотеки jQuery с CDN с поддержкой https будет следующей:

<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>

Также, как вариант вы можете просто указать все абсолютные ссылки с протоколом https (так например сделано в WordPress).

Тег <base />

Обратите внимание, если вы на сайте используете тег <base> с адресом сайта, то обязательно проследите, чтобы адрес был указан с протоколом https. Например, <base href=»https://zaurmag.ru» />. Данный тег не является обязательным, но все же, если в вашей cms он используется, то потрудитесь его исправить в случае чего. Находится он в самом начале секции <head>. Если получится так, что вы все ссылки изменили на относительные вне зависимости от протокола (//sitename.ru), а в теге <base> содержится адрес с http, то все ваши относительные ссылки будут считаться относительными в зависимости от протокола http. В результате в консоле браузера вы получите кучу ошибок, а на сайте поплывет дизайн.

Тег rel=»canonical»

Если у вас на сайте используется тег rel=»canonical», то проследите за тем, чтобы канонический адрес страницы в данном теге был абсолютным с указанием протокола https. Иначе, если будет http он будет работать только во вред.

301 редирект с http на https

Чтобы не потерять трафик нам необходимо сделать так, что когда пользователь заходит на сайт по протоколу http его бы автоматически перекидывало на https. Склейка зеркал и переиндексация сайта в поисковиках дело долгое (Гугл правда быстро реагирует, вот с Яндексом придется ждать), поэтому 301 редирект может это дело ускорить и не дать потерять трафик. Для этого в файл .htaccess нужно добавить всего две строчки:

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://sitename.ru/$1 [R=301,L]

Этих двух строк должно хватить. Если же у вас будут проблемы с редиректом, то можете попробовать альтернативный код.

RewriteEngine On # Если этой строки нет выше
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

А вот еще один код редиректа. Бывало такое у меня, что выше два кода не работали. Помог только этот.

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

Если и это не поможет, то вам надо будет обратиться в службу поддержки хостинга, они должны помочь с этим вопросом.

Еще советую добавить код, который будет перекидывать по 301 редиректу на www или на без www, в зависимости от того, какой домен вы выбрали основным.

## редирект с без www на www:
RewriteCond %{HTTP_HOST} ^sitename.ru$ [NC]
RewriteRule ^(.*)$ https://www.sitename/$1 [R=301,L] ## редирект c www на без www:
RewriteCond %{HTTP_HOST} ^www.sitename.ru$ [NC]
RewriteRule ^(.*)$ https://sitename.ru/$1 [R=301,L]

Файл robots.txt

В robots.txt нам обязательно следует указать главное зеркало с протоколом https. Также указать ссылку на карту сайта так с протоколом https. Вот как я сделал на своем блоге:

Host: https://zaurmag.ru
Sitemap: https://zaurmag.ru/sitemap.xml

Переезд сайта в панели вебмастеров Яндекс и Гугл

После вышеперечисленных действий нам необходимо сообщить поисковикам, что сайт переехал на новый протокол https. Как известно адрес с http и с https это абсолютно два разных адреса в глазах поисковиков.

Яндекс вебмастер

Для переезда сайта в Яндекс заходим в панель Яндекс Вебмастер по адресу https://webmaster.yandex.ru. Выбираем свой сайт и в разделе «Настройка индексирования» вводим свой домен и отмечаем чек-бокс «Добавить HTTPS«, сохраняем.

Переезд сайта в яндекс вебмастерПереезд сайта в яндекс вебмастер

Далее переходим в раздел «Настройка индексирования» -> «Файлы Sitemap» и добавляем адрес карты сайта с протоколом https. Данный адрес, если помните мы указывали и в файле robots.txt.

Добавляем адрес sitemap в панели Яндекс вебмастерДобавляем адрес sitemap в панели Яндекс вебмастер

Центр вебмастеров Гугл

С Яндексом разобрались, теперь давайте перейдем к Google. Идем в центр вебмастеров Гугл — https://www.google.com/webmasters и добавляем все версии (зеркала) сайта. Всего их должно быть 4. Например, для моего блога я добавил:

https://zaurmag.ru 
https://zaurmag.ru 
http://www.zaurmag.ru 
https://www.zaurmag.ru
Версии одного сайта в вебмастере гуглВерсии одного сайта в вебмастере гугл

Далее выбираем основное зеркало с https естественно, только с www или без www. Для своего сайта я выбрал без www — https://zaurmag.ru. Открываем сайт и в настройках сайта (кликаем по шестеренке справа) указываем основной домен. Вот на примере моего блога.

Основное зеркало сайта zaurmag.ru в вебмастере гуглОсновное зеркало сайта zaurmag.ru в вебмастере гугл

Далее указываем адрес карты сайта. Для этого идем в «Сканирование» -> «Файлы Sitemap» и добавляем адрес карты сайта, щелкнув по красной кнопочке справа. Кстати, пока писал статью обнаружил, что я не добавил карту сайта для основного домена сайта zaurmag.ru. 

smilesmileКарта сайт в Гугл вебмастерКарта сайт в Гугл вебмастер

Ну вот, на этом все. Если вы сделали все правильно, то в браузере рядом с адресной строкой у вас должен появиться зеленый замочек. Хотелось бы отметить, что если хотя бы один ресурс будет загружаться по незащищенному протоколу, то зеленого замочка вы не увидете, будет серый восклицательный знак. Отследить загрузку всех ресурсов вы можете в консоли браузера.

Зеленый замочек httpsЗеленый замочек https

Также хотелось бы сказать, что процесс переиндексации в Гугл занимает не так много времени, примерно 2 недели хватит, а может и меньше. Вот в Яндекс по сложнее с этим, я и не удивлен. Яндекс всегда был тугой в этом плане. В первое время у вас обнулится ТИЦ, если он у вас был и в первый же апдейт ТИЦа должен будет вернуться. Это я написал, чтобы вы не пугались. Ну а далее в Яндекс Вебмастер вы обнаружите следующую картину…

Сайт zaurmag.ru в вебмастере ЯндексСайт zaurmag.ru в вебмастере Яндекс

Прошло довольно приличное время после перехода на https и как видите по скрину еще не все страницы перешли на https. Что сказать, так устроен отечественный поисковик.

Парус слов про Яндекс Метрику. Если у вас был установлен код яндекс метирки, то в панели метирики вам придется добавить сайт заново с протоколом https.

Переход на HTTPS в Joomla

Обновлено — 15.12.2016

В последних версиях Joomla с переходом на https не должно возникнуть проблем. В файл .htaccess не обязательно добавлять директивы редиректов, движок сам перекинет с http на https. Для этого необходимо просто включить опцию в общих настройках Joomla — «Сервер» -> «Включить SSL» -> «Весь сайт».

Важно! Включайте данную опцию именно тогда, когда вы уверены, что сертификат у вас уже установлен и сайт доступен по протоколу Https.

Переключение на https в глобальных настройках JoomlaПереключение на https в глобальных настройках Joomla

Ошибка при переходе на Https в Joomla

Один раз у меня было такое, что мне пришлось немного потрудиться, на одном из клиентских сайтов переход на https прошел не так гладко. Браузер ругался на относительные адреса загружаемых ресурсов, хотя адреса были указаны относительными вне зависимости от протокола. Проблема была в теге <base />. Давайте расскажу по порядку.

Помимо тех настроек сайта, что были указаны выше нам необходимо открыть файл configuration.php и в поле live_site вписать абсолютный адрес с проколом https.

public $live_site = 'https://sitename.ru';

По идее после этой настройки в теге <base /> адрес сайта должен быть указан с протоколом https. Но нет, он был указан с протоколом http, от того и пошли все ошибки. Поискал решение проблемы в интернете, конкретно на форуме joomlaforum.ru и нашел решение. Необходимо было сделать некоторый хак ядра, правда уверяли, что после обновления данные изменения не затрутся. Открываем файл —  /libraries/joomla/document/renderer/html/head.php и заменяем (77 строка)

$buffer .= $tab . '<base href="' . $base . '" />' . $lnEnd;

на

$buffer .= $tab . '<base href="' . Juri::base() . '" />' . $lnEnd;

Скажу сразу — после обновления движка изменения все же затираются и вам придется после каждого обновления вносить правки в вышеуказанный файл.

Пока я эту проблему так и не решил. Не понимаю почему так происходит — версия движка последняя.

После этих действий все пришло в норму. Также в общих настройках Joomla, включил SSL. Ее включение привело к неработоспособности сайта.  Если вдруг вы выбрали опцию «Весь сайт» и сайт перестал работать, то вам необходимо открыть файл configuration.php по Ftp,  найти $force_ssl и установить значение на 0.

public $force_ssl = '0';

После этого сайт заработает.

Переход на HTTPS в WordPress

В принципе для перехода на https в WordPress никаких дополнительных действий, помимо вышеперечисленных делать не нужно. Единственное нужно поменять адрес сайта на https в общих настройках WordPress. Но эту настройку необходимо сделать только после приобретения SSL сертификата, когда ваш домен будет доступен по протоколу https, иначе в админку вы не сможете попасть.

Настройка адреса в настройках WordPressНастройка адреса в настройках WordPress

Также, желательно сделать бэкап сайта на всякий случай. Просто дело в том, что в WordPress все адреса хранятся в базе данных в абсолютном виде. После изменения настройки сайта все адреса должны поменяться и в базе данных. Поэтому на случай, если пойдет что-то не так сделайте бэкап.

На этом и завершу. Всем спасибо за внимание. Не стесняемся, задаем вопросы в комментариях.

Как перевести сайт на HTTPS

Перевод сайта на https как переезд из одной квартиры в другую — вроде бы ничего сложного, но, если не подготовиться заранее, дополнительных проблем не избежать. Чтобы ничего не упустить и не забыть, воспользуйтесь нашей пошаговой инструкцией. И пусть ваш переезд на https пройдёт легко и безболезненно.     

Итак, приступим. Что же нужно сделать, чтобы переехать на защищенный протокол.

1. Создать резервную копию файлов и баз данных

Во-первых, вы сможете восстановить данные, если что-то пойдёт не так.

Во-вторых, у вас появится шанс безопасно попрактиковаться на копии сайта, прежде чем рубить с плеча и делать всё «на горячую» на работающем сайте. Совет особенно полезен владельцам сложных и нестандартных проектов, а также всем, кто сомневается, что всё пройдёт гладко, и знает, как сильно перерывы в работе сайта бьют по карману и репутации.

Для создания резервной копии используйте отдельное хранилище, а не дисковое пространство сервера с данными сайта. Если с сервером что-то случится, копии файлов останутся целыми и невредимыми.

Чтобы подключить диск для бэкапов и настроить его с помощью ISPManager, вам потребуется 15-20 минут, не больше.     

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

1. Создайте тестовый поддомен вида test-ssl.yoursite.com, чтобы потренироваться на нём. Или используйте бесплатный технический поддомен от FirstVDS — yoursite.fvds.ru. Просто добавьте данный домен в панели ISPmanager.

2. Перенесите копии файлов и баз данных вашего сайта на тестовый поддомен.

3. Далее действуйте по нашей инструкции по переезду на HTTPS.

4. Чтобы не покупать сертификат для тестового переезда, рекомендуем подключить бесплатный сертификат от Let’s Encrypt.

2. Выбрать SSL-сертификат

Без SSL-сертификата не получится перевести сайт на https: ведь именно сертификат проверяется поисковиками и участвует в шифровании данных, которые веб-сервер получает от пользователя.

Мы советуем заранее выбрать сертификат, ведь его получение может занять не один день. Так, на выпуск сертификата с проверкой организации (OV) может уйти до 5 дней.

Чтобы определиться в выборе SSL-сертификата, ориентируйтесь на то, какой тип сертификата подойдёт вашему проекту и какая цена является для вас оптимальной.

3. Подготовить  сайт

Чтобы между сайтом и браузером клиента было установлено защищённое соединение, необходимо, чтобы весь контент сайта отдавался исключительно по https-протоколу.

Так как содержимое сайта запрашивается с веб-сервера при помощи ссылок, начать следует с того, чтобы грамотно их изменить.

Какие бывают ссылки:

Внешние ведут с вашего сайта на другие ресурсы.

Внутренние — переводят с одной страницы на другую внутри сайта.

Также ссылки делятся на абсолютные и относительные.

Абсолютные ссылки представляют собой полный URL, с указанием протокола, домена и пути до каталога или файла.

Пример:

https://firstvds.ru/services/ssl_certificate

Относительные ссылки — по своей сути лишь часть URL, неполный путь к определенному файлу. Путь такой ссылки высчитывается относительно чего-либо, например, корневой директории домена или протокола.

Пример:

//firstvds.ru/services/ssl_certificate (без указания протокола)
/services/ssl_certificate (без указания домена).

Что же нужно сделать?

3.1. Все внутренние ссылки изменить с абсолютных на относительные    

Проверьте, каким образом на вашем сайте реализована внутренняя адресация. Если для этого используются абсолютные ссылки вида http://, измените все URL на относительные. Во-первых, это серьёзно упростит настройку редиректа, о котором речь пойдет позже, а во-вторых, если вы однажды соберетесь менять доменное имя, сильно облегчите себе задачу.

3.2 Изменить все внешние ссылки с http на https

Если внешние ссылки с сайта относительны по протоколу, то после подключения SSL, контент по этим ссылкам автоматически будет запрашиваться через https. В этом случае, надо лишь убедиться, что запрашиваемый URL доступен по https.

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

И главное, помните: необходимо исправить ссылки для всех типов контента — картинок, видео, скриптов и т.д.

Примечание: на страницах вашего сайта могут быть ссылки на другие ресурсы, выполненные в виде кликабельного текста. Это реализовано через html-тег <a href =”ссылка”>, и в этих ссылках не надо менять http-адрес на https, поскольку адрес может не работать по защищённому протоколу.

Как изменить ссылки

Большая часть сайтов в мире сделана на базе готовых движков, так называемых систем управления контентом — CMS. У большинства из них есть готовые решения для управления ссылками либо средствами самой CMS, либо при помощи плагинов. Это самый простой и безопасный способ для того, чтобы изменить ссылки.

Такой вариант подходит для многостраничных сайтов со сложной структурой. Если же ваш сайт содержит всего несколько страниц, можно попробовать изменить ссылки вручную.

Современные CMS сохраняют содержимое страниц в базу, поэтому чаще всего ссылки хранятся в базе данных сайта. Чтобы заменить их вручную, можно использовать phpMyAdmin с удобным поиском по базе. Тем более, что он доступен в панели ISPManager.

Есть и другие способы:

— Вручную просмотреть все файлы сайта, скрипты и т.д.: откройте их в текстовом редакторе, типа NotePad++,  и при помощи функции поиска и замены приведите все ссылки к нужному виду. Этот вариант подходит тем, чей проект содержит до 4-5 страниц, имеет мало активного содержимого и не имеет базы данных как таковой.

— Поменять при помощи самописных программ. Можно написать скрипт, который при запуске заменит все сочетания вида «http://» на «https://» во всех файлах сайта, или только в указанных. В ОС Linux, например, это можно сделать, написав однострочный скрипт с использованием редактора sed. Такой способ подходит не всем, так как есть риск нарушить структуру файлов.

В статье способы рассматриваются как альтернативные, однако для некоторых веб-сайтов придется использовать не один способ, а два или больше. Например, отдельно поменять ссылки в CMS, отдельно — в базе данных и вручную переписать ссылки в коде сайта.

4. Установить  SSL-сертификат    

Установка сертификата — несложный процесс, но имеет свои нюансы в зависимости от того, какой сертификат вы устанавливаете — платный от известного центра или бесплатный Let’s Encrypt. Если вы обслуживаетесь у нас и используете панель ISPmanager, то можете воспользоваться готовой инструкцией по установке сертификата  для любого сайта или для окружения Битрикс. Если возникли сложности,  напишите в техническую поддержку, и мы поможем вам  с установкой.

5. Проверить работу сайта

Самый простой способ проверить, верно ли настроен сайт и установлен ли SSL-сертификат — открыть сайт через https://. Если появился значок защищённого соединения в браузере, значит сертификат установлен и все данные на странице загружаются через защищённый протокол.

    

Хорошо, если вы сможете проверить каждую страницу: неверные ссылки или ошибки при настройке редиректа могут привести к тому, что часть контента будет загружаться через http-протокол. В этом случае при просмотре страницы в браузере будет отображаться ошибка смешанного содержимого (Mixed content).

Понятно, что проверить вручную все страницы сайта получится не всегда. Тогда, чтобы убедиться, что все страницы загружаются корректно, используйте бесплатные средства SEO-аудита от Яндекс.Вебмастера и Google Search Console. С их помощью можно проверить, верно ли указаны ссылки, а ещё, что тоже пригодится, как отрабатывает редирект, правильно ли сформированы robots.txt и sitemap.xml. Для более детального SEO-анализа можем порекомендовать такие инструменты как, как Netpeak Spider или Screaming Frog.    

6. Настроить редирект

После того, как установлен SSL-сертификат, пользователи смогут заходить на ваш сайт как по запросу http, так и по https. Чтобы использовалось только защищенное соединение, необходимо настроить перенаправление запросов, или редирект. В этом случае любой полученный сервером http-запрос будет возвращаться по защищённому каналу.

В нашей Базе знаний вы можете прочитать о том, как настраивать автоматический редирект на HTTPS с помощью ISPmanager для самых распространенных вариантов — на связке Apache+Nginx и чистом Apache.

7.  Внести изменения в файл robots.txt и sitemap.xml

Файл robots.txt — это текстовый документ, размещённый в корне сайта, в котором прописываются параметры управления индексацией сайта. И в нём нам надо изменить следующие адреса:

В поле «host» меняем ссылку с http на https:

Было:

Host: http://ssl-test.fvds.ru

Стало:

Host: https://ssl-test.fvds.ru

    

Меняем ссылку на sitemap.xml.

Было:

Sitemap:  http://ssl-test.fvds.ru/sitemap.xml

Стало:

Sitemap:  https://ssl-test.fvds.ru/sitemap.xml

Sitemap — это, как следует из названия, карта сайта для поисковых систем, которая ускоряет процесс индексации. Это файл в формате XML, размещённый в корне сайта и содержащий адреса всех страниц сайта.

Файл sitemap.xml необходимо заново сгенерировать. Это можно сделать при помощи онлайн-ресурсов или через плагины CMS. После создания новой карты сайта, нужно загрузить её в корневую директорию ресурса.

8. Изменить адрес сайта на стороне поисковых систем

Чтобы не потерять позиции в поисковой выдаче, следующий и последний шаг, который вы должны сделать, — указать поисковым системам, что сайт защищён SSL-сертификатом и работает по https-протоколу.  

Для Яндекс.Вебмастера

Для индексирующих ботов сайт по http и сайт по https — это разные сайты. Поэтому добавим новый сайт с https.

Шаг первый. 

Шаг второй. 

После подтверждения прав на домен, перейдём снова на сайт без HTTPS и после перейдём в раздел «Индексирование»«Переезд сайта» и поставим галочку «Добавить HTTPS».

Для Google Search Console

Необходимо добавить отдельный сайт для каждого URL, поэтому добавим ресурс с https.

Теперь вам останется только подождать, когда поисковые системы проиндексируют ваш сайт по HTTPS. Чтобы узнать больше о работе поисковиков и индексации сайта, воспользуйтесь справочной информацией от Google Search Console и помощью Яндекс.Вебмастера.  

 

Читать еще по этой теме:

Как настроить автоматический редирект на HTTPS?

Установка SSL-сертификата на сервер с Битрикс

Установка SSL-сертификата с помощью ISPmanager 5 lite

Установка PhpMyAdmin на Bitrix-сервер

Установка бесплатного SSL-сертификата Let’s Encrypt на сервер с Битрикс

Как выбрать SSL-сертификат для своего сайта

 

Деликатный переезд (или рекомендации Яндекса по переезду на HTTPS) — Платон Щукин

23 октября 2015, 15:00

В последнее время тема смены протокола сайта весьма актуальна, ведь для защиты данных в интернете все больше сайтов начинают использовать HTTPS-соединение, которое представляет собой стандартный протокол HTTP, поддерживающий шифрование. В связи с этим у владельцев сайтов возникает множество вопросов о том, как правильно сообщить Яндексу о том, что тот или иной ресурс теперь поддерживает шифрование и работает по защищенному протоколу. Ниже я расскажу, что представляет собой процесс переезда на HTTPS, и дам рекомендации относительно того, как лучше его организовать.

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

По сути процесс смены протокола с точки зрения поисковой системы представляет собой объединение ресурсов вида http://site.ru и https://site.ru в группу зеркал либо изменение главного зеркала среди них в том случае, если ранее они уже были признаны зеркалами друг друга. О том, как это проверить, рассказано в нашей Помощи. Для того чтобы сайты стали зеркалами и были склеены в единую группу нужно, чтобы при обращении к ним отдавался идентичный контент.

Я советую придерживаться следующих рекомендаций для того, чтобы корректно осуществить перенос своего сайта на домен с защищенным протоколом: 

1. Приобрести и настроить сертификат безопасности, который выдается соответствующей уполномоченной организацией (центром сертификации).

2. Сообщить поисковому роботу о том, что сайт стал доступен по новому протоколу, добавив его в список своих сайтов в Яндекс.Вебмастере.

3. Указать адрес желаемого глав

Переходим на HTTPS на Nginx: шпаргалка / Habr

Уже второй раз сталкиваюсь с задачей «поставь https на наш сервер» от моего босса, поэтому решил сделать для самого себя шпаргалку, а заодно и для всех остальных. Итак, ситуация следующая: к нам пришел босс и заявил, что ему нужен https. Под катом я напишу 5 простых шагов, как все сделать буквально за час. Приступим.

0. Отправляем босса покупать нам доменное имя, если его у нас еще нет — без доменного имени https поставить нельзя. После покупки не забываем прописать NS-записи в панели управления нашего сервера, а также A-запись.

1. Отправляем босса за SSL-сертификатом на nic.ru и пускай он там покупает себе thawte 123 сертификат, а мы тем временем сгенерируем для него CSR-запрос.

2. Заходим по SSH на сервер и далее пишем:

openssl genrsa -out private.key 2048

3. Создаем CSR-запрос вот этой строкой:

openssl req -new -sha256 -key private.key -out csr.csr
, причем информацию (типа company name, email) берем через сервис whois (зачем еще раз спрашивать все у босса, когда можно все узнать самостоятельно).

4. В это время босс дошел до той стадии, когда ему потребуется только что созданный нами CSR-запрос. Мы говорим ему, чтобы он залез по SSH на сервер и командой

cat csr.csr
скопировал код и вставил его куда нужно.

5. Затем босс попросит нас подтвердить владение доменом через создание почты типа [email protected] Для этого мы воспользуемся сервисом «почта для доменов» от «Яндекса». Создаем там почту и сообщаем боссу логин/пароль.

6. Создаем bundled PEM-сертификат. Босс должен будет переслать письмо от thawte, в котором в PEM-формате будет лежать наш сертификат. Мы должны открыть sublime text и вставить туда этот сертификат, а также скачать промежуточный сертификат с сайта thawte, вставить его в тот же файл и сохранить в /etc/nginx/certificate_bundled.crt. Внимание! Сначала идет то, что нам выслал босс, а уже потом — промежуточный сертификат, который мы скачали по той ссылке.

7. Копируем приватный ключ туда же командой

mv private.key /etc/nginx/private.key

8. Открываем конфиг /etc/nginx/nginx.conf и настраиваем согласно инструкциям в публикации «Настраиваем HTTPS-сервер на nginx». Если вкратце, нам надо в /etc/nginx/nginx.conf в секцию http прописать

    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 5m;
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    resolver 8.8.8.8;

Затем в /etc/nginx/conf.d/example_ssl.conf в секции server:
server {
    listen       443 ssl;
    server_name  www.site.ru;

    root /var/www/html/web/; #не забываем здесь тоже указать свой root, если он какой-то специфический как у меня
    index index.php index.html;
    set $yii_bootstrap "index.php";
   
    # здесь немного конфига для yii, для тех кто его использует
    location / {
        # Define the index
        index  index.html $yii_bootstrap;
        try_files $uri $uri/ /$yii_bootstrap?$args;
    }

    # Any of the protected directories, we will ignore.  There is no reason
    # to share out the protected web spaces
    location ~ ^/(commands|components|config|controllers|models|vendor|views) {
        deny  all;
    }

    #avoid processing of calls to unexisting static files by yii
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
    .......

    keepalive_timeout   60;
    ssl_certificate      certificate_bundled.crt;
    ssl_certificate_key  private.key;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  "RC4:HIGH:!aNULL:!MD5:!kEDH";
    add_header Strict-Transport-Security 'max-age=604800';

    .......
    location ~ \.php$ {
    .......
        fastcgi_param HTTPS on; # Для php-fpm
    .......
    }
}

9. Отключаем пароль для приватного ключа командой:

openssl rsa -in /etc/nginx/private.key -out /etc/nginx/private.key

10. Перезагружаем nginx командой

nginx -s reload
и — вуаля!

Полезные статьи. Подключение SSL к сайту. LTD Beget

Что такое HTTPS/SSL?

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. При использовании HTTPS данные передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443. Более подробное описание этого протокола можно прочесть в Wikipedia.

В случае отсутствия SSL современные браузеры отмечают Ваши сайты как небезопасные. Использование SSL предотвращает перехват сообщений, вмешательство в каналы связи и подмену доверенных веб-сайтов.

Посетители Ваших сайтов будут уверены в конфиденциальности данных и достоверности страниц, а как дополнительное преимущество использования SSL — большее доверие пользователей к сайту и более высокие позиции в поисковых системах!

Как заказать бесплатный SSL-сертификат из панели управления?

1. Зайдите в раздел Домены и поддомены и выберите напротив домена «Управление SSL сертификатами».

2. В открывшемся окне перейдите на вкладку «Бесплатный сертификат» и нажмите кнопку «Установить».


3. После заказа SSL-сертификата вы получите письмо на контактный email о подаче заявки на выпуск SSL, а затем еще одно письмо о завершении его установки.

4. В момент установки для домена будет автоматически изменена A-запись, если домен работает на наших DNS. Если вы используете не наши DNS, необходимо самостоятельно прописать на них указанный в письме IP-адрес в качестве А-записи для домена.

Как настроить переадресацию?

Если вы хотите, чтобы все страницы вашего сайта после установки сертификата открывались только по HTTPS, нужно включить переадресацию. Мы подготовили инструкции по настройке переадресации для популярных CMS — кликните по иконке используемой вами системы и следуйте инструкции на экране. Если нужной CMS в нашем списке нет, вам может помочь инструкция из пункта «Другие CMS».

Выберите свою CMS:

Другие CMS / Без CMS

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь. Если такого файла в папке с сайтом нет — этот шаг можно пропустить.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите поддержку HTTPS в панели администратора сайта.
    Для разных сайтов могут потребоваться разные настройки (или не потребоваться вовсе), поэтому информацию о необходимости настройки вашего сайта для работы по HTTPS рекомендуем уточнить у разработчика сайта.
  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    О том, как это сделать, рекомендуем уточнить у его разработчика.
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для WordPress

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. замените URL в базе данных сайта.

    Сделайте резервную копию базы данных, которую использует WordPress. Подключитесь по SSH, перейдите в каталог с файлами сайта и запустите WP CLI для замены адресов (вместо octopussy.ru нужно использовать свой домен):

    [email protected]:~/osjminozhka.rf/public_html [0] $ wp search-replace 'http://octopussy.ru' 'https://octopussy.ru'

    Если вы используете IDN-домен (например, осьминожка.рф) — его следует указать в punycode:

    [email protected]:~/osjminozhka.rf/public_html [0] $ wp search-replace 'http://xn--80alfjhhedx4i.xn--p1ai' 'https://xn--80alfjhhedx4i.xn--p1ai'

    По завершении операции WP CLI выведет информацию о количестве замен в каждой таблице базы и сообщит, сколько всего замен было произведено (в нашем примере — 20):

    Success: Made 20 replacements.
  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    Используйте WP CLI: подключитесь по SSH, перейдите в каталог с файлами сайта и введите команду wp cache flush.
    [email protected]:~/osjminozhka.rf/public_html [0] $ wp cache flush
    Success: The cache was flushed.
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для Joomla

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите SSL в настройках.
    В меню панели администратора выберите «Система» — «Общие настройки». Перейдите на вкладку «Сервер» и в меню «Включить SSL» выберите «Весь сайт».

  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    В панели администратора в меню «Система» выберите пункт «Очистить весь кэш» и следуйте инструкциям на открывшейся странице.
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для OpenCart

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. проверьте конфигурационные файлы сайта.
    Проверьте следующие файлы в корневом каталоге сайта:

    В файле config.php в строке define(’HTTPS_SERVER’, ’https://SITE_URL’) адрес сайта должен быть указан с https://;

    В файле admin/config.php c https:// должны быть указаны адреса в строках define(’HTTPS_SERVER’, ’https://SITE_URL/admin/’) и define(’HTTPS_CATALOG’, ’https://SITE_URL/’).

  4. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  5. включите SSL в настройкаx магазина.
    В панели администратора сайта перейдите в меню «Система» — «Настройки». Кликните «Редактировать» напротив используемого магазина.

    Перейдите на вкладку «Сервер» и включите опцию «Использовать SSL».

  6. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  7. очистите кэш сайта.
    Для версий меньше 2.1.x удалите содержимое папки system/cache, для версий от 2.1.x и выше — папки system/storage/cache.
  8. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для DataLife Engine

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите SSL в настройках DLE.
    В панели администратора перейдите в раздел «Настройки скрипта» — «Настройка системы». Включите опцию «Всегда использовать HTTPS протокол» и в поле «Домашняя страница сайта» поменяйте http:// на https://.

  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    На главной странице панели администратора сайта нажмите кнопку «Очистить кеш».
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для PrestaShop

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите SSL в настройках магазина.
    Перейдите в раздел «Параметры магазина» — «Общее» в панели администратора. Включите опцию «Включить SSL» и сохраните настройки.

    После этого станет активна опция «Включить SSL на всех страницах» — ее также нужно включить.

  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для ModX Revolution

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите SSL в настройках ModX.
    В панели администратора в меню настроек (оно находится рядом с именем пользователя) выберите «Системные настройки». В поле «Фильтр по ключу» введите «server_protocol». После того, как он появится в таблице — измените его значение с http на https.

  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    В панели администратора выберите в меню «Управление» — «Очистить кэш».
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для ModX Evolution

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите SSL в настройках ModX.
    В панели администратора в меню настроек (оно находится рядом с именем пользователя) выберите «Конфигурация». На вкладке «Сайт» найдите опцию «Тип сервера» и выберите https.

  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    В меню панели администратора выберите «Инструменты» — «Очистить кэш».
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для Drupal

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. eсли Вы используете Drupal 7, включите SSL в конфигурационном файле Drupal.
    Откройте файл sites/default/settings.php и добавьте (или замените, если они уже есть) следующие строки (ВАШ_ДОМЕН нужно заменить на ваше доменное имя):
    $conf['https'] = TRUE;
    $base_url = 'https://ВАШ_ДОМЕН';
  5. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  6. очистите кэш сайта.
    В панели администратора перейдите в раздел «Конфигурация» — «Разработка» — «Производительность» и нажмите кнопку «Очистка кэша».
  7. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.
Настройка переадресации для 1С-Битрикс

Перед тем, как включить переадресацию (автоматическое перенаправление при обращении к сайту с HTTP на HTTPS), необходимо выполнить ряд действий:

  1. сделайте резервную копию сайта.
    В случае, если что-то пойдет не так и работа сайта будет нарушена, у вас будет возможность откатить все сделанные изменения.
  2. проверьте правила переадресации в файле .htaccess.
    В нем не должно быть редиректов, ведущих на ссылки с http. Если у вас возникнут сложности с проверкой — напишите нам, мы постараемся помочь.
  3. отключите плагины автоматической переадресации на HTTPS.
    Проверьте список установленных плагинов в панели администратора вашего сайта. Если среди них есть модули, которые связаны с переадресацией страниц — их стоит отключить.
  4. включите переадресацию.

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

    В разделе «Сайты» Панели управления кликните по иконке «HTTP» или «HTTP/2»:

    В появившемся окне включите опцию «Редирект с HTTP на HTTPS»:

    После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

    Альтернативный вариант переадресации с помощью файла .htaccess

    Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  5. очистите кэш сайта.
    Удалите содержимое папок bitrix/cache и bitrix/managed_cache любым удобным способом (например, через Файловый менеджер).
  6. проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.

Как отключить переадресацию?

Отключить переадресацию можно почти так же, как и включить. Необходимо:

  1. отключить принудительное перенаправление.
    Если перенаправление было включено в разделе «Сайты» Панели управления — соответствующую опцию необходимо отключить, если в .htaccess были добавлены соответствующие правила — нужно удалить их из файла.
  2. отключить поддержку HTTPS в панели администратора сайта.
    Для соответствующих опций, которые менялись на этапе включения переадресации, необходимо вернуть прежние значения.
  3. очистить кэш вашего сайта.
    Информацию о том, как это сделать, можно прочитать в инструкции по настройке переадресации или уточнить у разработчика сайта.

Возможные проблемы при использовании SSL

Стоит обратить внимание на возможные проблемы при использовании SSL:

  • В том случае, если Ваш сайт проиндексирован поисковыми системами, при использовании SSL поисковые системы первое время будут считать сайты, доступные через HTTP и HTTPS, разными. Автоматическая склейка зеркал может занимать до 2 месяцев, за это время сайт может потерять свои позиции. Правильным решением будет указать поисковой системе на эквивалентность этих сайтов с помощью директивы host в файле robots.txt, например:

    Host: https://beget.com

    Подробности о корректной миграции сайта с HTTP на HTTPS для поисковых систем описаны в справочных страницах Google и Яндекс.

  • Так как поисковые системы будут видеть несколько одинаковых страниц на разных доменах, рекомендуется указывать основную страницу, которая будет указываться при переходе из поисковой системы. Сделать это можно, поправив все ссылки на «rel=canonical», более подробно об этом можно прочесть в документации Google.
  • Если на Вашем сайте используются сторонние виджеты, например, чат, телефония, статистика — их также необходимо перевести на протокол HTTPS.
  • Возможны проблемы со стороними сервисами, которые грузили данные с Вашего сайта и не понимают 301/302 редирект после перевода его на HTTPS. Для того, чтобы восстановить их работу, рекомендуем проконсультироваться с поддержкой этих сервисов.

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».

Author: admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *