- Перевод сайта на HTTPS и устранение Mixed Content
- 1. SSL-сертификат
- 2. Перенаправление на HTTPS
- 3. Дополнительные настройки для CMS
- WordPress
- Joomla
- 1С-Битрикс
- Drupal
- MODX Revolution
- OpenCart
- Prestashop
- 4. Устранение Mixed Content
- Как правильно настроить .htaccess?
- Ответы (3)
- Создание и настройка .htaccess
- Общие сведения
- Создание и редактирование .htaccess
- Примеры настроек
- Перенаправления
- Параметры PHP
- Управление доступом к сайту
- Защита сайта или директории паролем. Базовая аутентификация
- Блокировка запросов по User-Agent
- Ограничения по видам запросов
- Индексная страница по умолчанию
- Собственные страницы ошибок
- Кодировка
- Отображение листинга (содержимого директории)
Перевод сайта на HTTPS и устранение Mixed Content
На сегодняшний день использование протокола HTTPS на сайте необходимо не только для защиты данных, но и для поддержания его позиций в выдаче — поисковые системы учитывают наличие SSL в качестве фактора ранжирования. Чтобы перевести сайт на HTTPS вам необходимо установить SSL-сертификат, а после провести дополнительные настройки, чтобы все работало корректно.
Если вы не хотите заниматься настройкой самостоятельно, рекомендуем вам сертификат SSL Timeweb Pro — при его заказе все необходимые работы по установке и настройке SSL, а также по настройке вашего сайта выполнят наши специалисты. Вы также можете заказать отдельную услугу по настройке сайта при заказе сертификата Let’s Encrypt.
1. SSL-сертификат
В Timeweb вы можете заказать как сертификаты Sectigo, так и бесплатный Let’s Encrypt. Подробнее о типах сертификатов, их заказе и установке см. в разделе SSL-сертификаты.
После того, как сертификат установлен, потребуется выполнить определенные настройки на сайте и устранить Mixed Content.
2. Перенаправление на HTTPS
Включить перенаправление на протокол HTTPS можно через панель управления или с помощью директив в файле .htaccess.
В панели управления:
- Перейдите в раздел «Сайты» и нажмите на значок шестеренки у нужного сайта.
- В открывшемся окне настроек включите опцию » Использовать безопасное соединение https://» и сохраните изменения.
Чтобы настроить перенаправление на HTTPS вручную, нужно добавить соответствующие директивы в файл .htaccess. Стандартная конструкция выглядит следующим образом:
Также возможно другие варианты настроек; примеры директив и информацию о работе с .htaccess можно найти здесь.
3. Дополнительные настройки для CMS
Далее для корректной работы сайта по HTTPS потребуется выполнить дополнительные настройки, в зависимости от вашей CMS.
WordPress
В случае с WordPress можно обойтись без настройки вручную и воспользоваться специальными плагинами (например, Really Simple SSL), которые настроят сайт для работы по HTTPS, а также устранят Mixed Content (по крайней мере, частично).
При ручной настройке:
- В админ-панели сайта перейдите в раздел «Настройки» — «Общие».
- Укажите протокол HTTPS в полях «Адрес WordPress» и «Адрес сайта», то есть замените http://domain.ru на https://domain.ru .
- В конфигурационный файл wp-config.php добавьте строку:
Joomla
- В админ-панели сайта перейдите в раздел «Система» — «Общие настройки» — вкладка «Сервер».
- В пункте «Включить SSL» выберите «Весь сайт» и сохраните изменения.
- В конфигурационном файле configuration.php в строке с параметром $live_site укажите URL вашего сайта с протоколом HTTPS:
1С-Битрикс
Для CMS Битрикс рекомендуется выполнить несколько дополнительных проверок:
- Проверить работу форм обратной связи, так как ajax-запросы могут содержать ссылки на HTTP, которые перестанут работать.
- Проверить интеграцию с 1С. Если ваша версия 1С не поддерживает протокол HTTPS, добавьте следующий код в .htaccess:
- Проверить выгрузки на торговые площадки (Яндекс.Маркет и др). Файлы выгрузки будет нужно сгенерировать заново. В разделе «Рабочий стол» — «Магазин» — «Настройки» — «Экспорт данных» включите опцию «Использовать в выгрузке протокол https» в выгрузке Yandex.
- Если используется CDN, поставьте флажок в поле «Сайт работает по https» в настройках сервиса «Ускорение сайта CDN».
- В настройках модуля «E-mail маркетинг» включите https для ссылок в письмах.
Drupal
Для Drupal 8 дополнительных настроек не требуется.
Для Drupal 7 в конфигурационный файл settings.php добавьте строки:
MODX Revolution
- В админ-панели сайта перейдите в раздел «Настройки» — «Системные настройки» — вкладка «Сайт».
- Найдите параметр «Тип сервера» (можно искать по ключу server_protocol ) и замените HTTP на HTTPS.
- Далее найдите параметр «Схема URL» (ключ link_tag_scheme ) и замените значение -1 на 1.
Если в работе сайта возникают проблемы, попробуйте дополнительно внести следующие изменения в конфигурационный файл config.inc.php :
OpenCart
- В админ-панели сайта перейдите в раздел «Система» — «Настройки».
- На вкладке «Сервер» в пункте «Использовать SSL» выберите «Да» и сохраните изменения.
В конфигурационном файле /public_html/config.php в блоках HTTP и HTTPS укажите URL вашего сайта с протоколом HTTPS:
В конфигурационном файле /public_html/admin/config.php также укажите протокол HTTPS в блоках HTTP и HTTPS:
Prestashop
- Перейдите в раздел «Параметры магазина» — «Общее» и в самом первом пункте «Включить SSL» нажмите на ссылку для проверки поддержки HTTPS.
- При появлении уведомления безопасности подтвердите переход по ссылке.
- В пункте «Включить SSL» выберите «Да» и сохраните настройки.
- В пункте «Включить SSL на всех страницах» выберите «Да» и еще раз сохраните.
Дополнительно рекомендуется очистить кэш: раздел «Расширенные возможности» — «Производительность» — «Очистка кэша».
4. Устранение Mixed Content
Ошибки Mixed Content, то есть ошибки смешанного содержимого, говорят о том, что на сайте, который работает по HTTPS, все еще есть ссылки, которые ведут на HTTP. Это могут быть ссылки как на разделы вашего собственного сайта, так и на сторонние ресурсы. Присутствие смешанного содержимого не только негативно влияет на SEO, но и является проблемой безопасности, так как часть данных оказывается не защищена, несмотря на наличие SSL-сертификата на сайте.
Проверить наличие таких ссылок и ошибок можно:
- С помощью специальных сервисов, например, JitBit. Сервис выведет список страниц, на которых обнаружено смешанное содержимое.
- В консоли разработчика в браузере. В Chrome и Firefox ее можно открыть с помощью Ctrl+Shift+J. В поиске введите ‘mixed’, чтобы отфильтровать нужные ссылки.
Для устранения смешанного содержимого нет универсального способа, так как разные сайты имеют свои особенности, однако в целом нужно добиться отсутствия ссылок на HTTP в коде вашего сайта.
В WordPress для этой цели можно использовать специальные плагины, например:
При ручной настройке можно:
1) Заменить во всех ссылках, где возможно, протокол HTTP на HTTPS, то есть вместо ссылок вида:
Если ссылка ведет на сторонний ресурс ( http://некий-сайт/page/file.jpg ), сначала проверьте, что он доступен по HTTPS и ссылка останется рабочей. Если это не так, попробуйте воспользоваться вторым вариантом.
2) Второй вариант — заменить ссылки на относительные вместо абсолютных, то есть вместо ссылок вида:
Это же касается ссылок на сторонние ресурсы, в них необходимо полностью отбросить указание протокола. То есть вместо ссылок вида:
Если ссылка такого вида работает некорректно, а по HTTPS ресурс недоступен, то можно рассмотреть варианты:
- если это медиа-контент (картинки, видео и пр.) — по возможности загрузить их на сервер TImeweb, в директорию вашего сайта, и после обновить ссылки;
- найти аналог этого сайта или ресурса и полностью обновить ссылки на данный элемент;
- не использовать этот файл или скрипт, если есть такая возможность, и полностью удалить его из кода страницы.
Источник
Как правильно настроить .htaccess?
После переезда на https яндекс стал ругаться что не может получить доступ к файлу robots: » Сервер отвечает редиректом на запрос /robots.txt «
Как правильно настроить .htaccess, чтобы robots попал в исключения переадрессации?
Ответы (3)
До переезда сайт был на https или был редерирект — без www, на www? Мало информации, если делали редиректы в .htaccess сделайте исключения для robots.txt
RewriteEngine On
RewriteCond %
RewriteCond %
RewriteRule (.*) https://%
Файл robots.txt (если он действительно существует, а не генерируется CMS), вряд ли будет учитываться данным правилом. Просто потому, что он отдается nginx как статика, а не apache.
Кроме того случая, когда в разделе «Сайты» включено перенаправление с HTTP на HTTPS.
Его как раз следует отключить в том случае, если планируете размещать правила перенаправления в .htaccess:
Поэтому можно смело указывать так:
RewriteEngine On
RewriteBase /
RewriteCond %
RewriteRule ^(.*)$ https://%
Дополнительно рекомендую в файл .htaccess поместить еще и следующую директиву:
SetEnvIf X-HTTPS 1 HTTPS
Хуже не сделает, а проблему может решить. Надеюсь, поможет! 😛
Источник
Создание и настройка .htaccess
Общие сведения
.htaccess — это конфигурационный файл веб-сервера Apache, который позволяет задавать различные настройки для работы веб-сервера, применяемые для конкретных каталогов пользователя.
Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess-файлы; при этом необходимо учитывать, что настройки .htaccess, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess, размещенном на уровне выше.
Настройки в .htaccess задаются различными директивами, которые далее обрабатываются и выполняются веб-сервером. С помощью .htaccess можно настраивать перенаправления, управлять опциями PHP, устанавливать разрешения и права доступа к файлам, задавать собственные страницы ошибок и выполнять множество других действий.
Создание и редактирование .htaccess
Создать файл настроек .htaccess вы можете при помощи файлового менеджера панели управления аккаунтом.
1. Перейдите в раздел «Файловый менеджер» панели управления.
2. Выберите пункт меню «Файл» — «Новый файл».
3. Выберите из списка расширений .htaccess.
4. Нажмите кнопку «Создать файл».
Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.
Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».
В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.
Вы также можете редактировать .htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, «Блокнот») при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода — BOM-сигнатуры. Файлы с такой сигнатурой некорректно обрабатываются веб-сервером, поэтому мы рекомендуем редактировать .htaccess напрямую в «Файловом менеджере» или через специальный редактор «Notepad++».
Примеры настроек
Перенаправления
Настройка редиректов описана в отдельной статье: Типовые перенаправления.
Параметры PHP
Настройка опций PHP через .htaccess описана в отдельной статье: Настройка параметров PHP.
Управление доступом к сайту
Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require . В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.
Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.
Разрешить доступ конкретным IP (для остальных доступ запрещен):
Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.
Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки :
При использовании Allow,Deny:
Разрешить доступ всем, кроме конкретного IP:
Запретить доступ всем, кроме конкретного IP:
Запретить доступ для всех:
Аналогичным образом можно настроить доступ к конкретным файлам, включив эти директивы в блоки , например:
Защита сайта или директории паролем. Базовая аутентификация
Если требуется защитить сайт или конкретную папку сайта паролем, можно воспользоваться базовой аутентификацией, которая работает на уровне веб-сервера Apache и настраивается также с помощью файла .htaccess.
В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
После выполнения команды в корневом каталоге вашего аккаунта будет создан файл .htpasswd, содержащий логин и хэш-сумму пароля. Если в дальнейшем вам потребуется изменить указанный пароль, снова используйте команду выше.
Перейдите в директорию, которую необходимо защитить паролем (например, это может быть директория wp-admin), и создайте в ней файл .htaccess со следующим содержимым, указав вместо u и user первую букву вашего логина и сам логин:
Если речь идет о защите всего сайта в целом, эту конструкцию необходимо вставить в общий .htaccess-файл, размещенный в директории public_html вашего сайта.
Блокировка запросов по User-Agent
Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:
Ограничения по видам запросов
Для применения ограничений для определенных методов запросов можно использовать блоки
:
Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки :
Индексная страница по умолчанию
Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:
Вы также можете указать несколько страниц, в этом случае сервер «пройдет» по списку слева направо и отобразит первую доступную страницу:
Собственные страницы ошибок
С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:
Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.
Кодировка
Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:
При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:
Отображение листинга (содержимого директории)
Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка «403 Forbidden». Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:
Источник