Меню

Https не работает домен

Https не работает домен

Иногда бывает, что все настроено, но почему-то домен не работает и сайт недоступен. Для того, чтобы к сайту можно было обращаться по доменному имени, требуется преобразование имени домена в IP-адрес web-сервера на котором размещен сайт. За такое преобразование отвечает глобальная система доменных имен DNS. Для успешного преобразования необходимо одновременное выполнение следующих условий:

  1. Домен должен быть зарегистрирован и делегирован
  2. Серверы имен, которым делегировано управление доменной зоной, должны корректно отдавать ip-адрес web-сервера
  3. На DNS-серверах верхнего уровня должна быть актуальная информация о домене

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

1. Регистрация и делегирование домена

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

Делегированием называется передача управления доменной зоной конкретному серверу имён. Для того, что-бы делегировать домен, необходимо указать для него адреса DNS-серверов, на которых будут созданы ресурсные записи этого домена. В большинстве случаев адреса DNS-серверов предоставляет провайдер при покупке домена или хостинга, обычно указывают два сервера. Все действия выполняются через панель управления, доступ к которой предоставляет провайдер при покупке домена.

Для проверки статуса домена можно использовать любой онлайн сервис Whois, например w hois-service.ru. Если домен зарегистрирован, вы увидете информацию о нем.

Следует обратить внимание на следующие поля:

  1. «paid-till» — дата окончания оплаченного периода. Нужно убедиться, что указанная дата еще не наступила. Если услуга не будет продлена, после этой даты произойдет блокировка домена до поступления оплаты. При отсутствии оплаты в течении месяца, домен освобождается.
  2. «state» — статус. Необходимо убедиться, что домен имеет статусы «REGISTERED» и «DELEGATED». Это значит, что домен зарегистрирован и делегирован.
  3. «nserver» — адреса DNS-серверов, которым делегировано управление доменой зоной. Необходимо убедиться, что DNS-серверы указаны правильно. Как уже было сказано выше, обычно эти адреса предоставляет провайдер при покупке домена или хостинга.

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

Если на этом шаге с доменом все в порядке, можно приступать к следующему этапу.

2. Проверка DNS серверов

Серверы имен, которым делегировано обслуживание домена, должны по запросу отдавать ресурсные записи доменной зоны. Ресурсные записи это служебная информация о домене, которая хранится на DNS-сервере. Существуют различные типы ресурсных записей, нас интересует наиболее часто используемая запись типа «А», которая определяет какой ip адрес соответствует домену. Если вы покупаете домен и хостинг у одного провайдера, ресурсные записи могут создаваться автоматически, если же провайдеры разные, их нужно создавать вручную через панель управления, доступ к которой предоставляет провайдер. На скриншоте показаны ресурсные записи тестового домена «domain111.ru», открытые в панели управления DNSManager от компании ISPsystem. Кстати, у нас есть подробная статья «Создание и настройка доменных DNS записей в DNS-manager»

Цель проверки на этом этапе — убедиться что DNS-сервер, которому делегировано управление доменной зоной корректно отдаёт запись типа «А», то есть IP-адрес домена. Для проверки воспользуемся утилитой командной строки «nslookup».

Читайте также:  Keenetic как настроить две сети

Рассмотрим диагностику на примере домена «domchel.ru». Сервис «Whois» показывает что управление доменной зоной делегировано DNS-серверам «ns1.rugion.ru» и «ns2.rugion.ru», это значит, что каждый из них должен содержать А запись для этого домена и отдавать её по запросу, проверим это.

Откроем командную строку и выполним команду «nslookup domchel.ru ns1.rugion.ru», где в качестве первого аргумента указано имя нашего домена, а в качестве второго имя DNS-сервера, на который будет отправлен запрос. По умолчанию утилита запрашивает А-запись, поэтому в параметрах запроса тип записи не указан. Если в ответ на ваш запрос dns-сервер возвращает имя домена и ip адрес (как на скриншоте), значит все в порядке.

Для примера выполним команду еще раз, но укажем несуществующий домен.

Сервер не смог найти в своей базе данных запрашиваемый домен и сообщил об этом.

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

При успешной проверке переходим к следующему этапу.

3. Обновление DNS-серверов верхнего уровня

В общих чертах принцип работы глобальной системы доменных имен заключается в том, что DNS-серверы более высокого уровня содержат информацию о DNS-серверах, более низкого уровня. Относительно нашего примера с доменом «domchel.ru», из этого следует, что на всех серверах имен обслуживающих домен «ru» должна быть информация о том, что домен «domchel.ru» обслуживается DNS-серверами ns1.rugion.ru и ns2.rugion.ru.

Учитывая, что состояние доменов нижних уровней постоянно изменяется, домены регистрируются, освобождаются, «переезжают» на обслуживание на другие DNS-серверы, изменяются IP-адреса хостинга, база данных DNS-серверов верхнего уровня должна постоянно обновляться.

Обычно, после делегирования домена и создания ресурсных записей, информация об этом распространяется по сети в течении суток, и только после этого ваш сайт становится доступен из любой точки мира. На этом этапе со стороны пользователя никаких действий не требуется, нужно просто подождать. Если прошло более суток, но сайт по-прежнему недоступен, еще раз воспользуемся утилитой nslookup. Выполним предыдущую команду, но в качестве второго аргумента укажем любой из публичных DNS-серверов, например 8.8.8.8 — публичный DNS-сервер от компании Google.

Итак, выполним команду «nslookup domchel.ru 8.8.8.8»

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

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

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

Выполним команду «nslookup domchel.ru» Если в параметрах команды не указан конкретный сервер имен, запрос будет отправлен локальному DNS-серверу.

В случае, когда публичные сервера имен «знают» IP-адрес вашего сайта, но при этом локальный сервер сообщает, что домен не найден, нужно искать проблему в конфигурации сетевого адаптера на вашем ПК или DNS-сервере вашего интернет-провайдера.

Читайте также:  Работаю не по специальности superjob

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

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

Источник

Перевод сайта на 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.

В панели управления:

  1. Перейдите в раздел «Сайты» и нажмите на значок шестеренки у нужного сайта.
  2. В открывшемся окне настроек включите опцию » Использовать безопасное соединение https://» и сохраните изменения.

Чтобы настроить перенаправление на HTTPS вручную, нужно добавить соответствующие директивы в файл .htaccess. Стандартная конструкция выглядит следующим образом:

Также возможно другие варианты настроек; примеры директив и информацию о работе с .htaccess можно найти здесь.

3. Дополнительные настройки для CMS

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

WordPress

В случае с WordPress можно обойтись без настройки вручную и воспользоваться специальными плагинами (например, Really Simple SSL), которые настроят сайт для работы по HTTPS, а также устранят Mixed Content (по крайней мере, частично).

При ручной настройке:

  1. В админ-панели сайта перейдите в раздел «Настройки» — «Общие».
  2. Укажите протокол HTTPS в полях «Адрес WordPress» и «Адрес сайта», то есть замените http://domain.ru на https://domain.ru .
  3. В конфигурационный файл wp-config.php добавьте строку:

Joomla

  1. В админ-панели сайта перейдите в раздел «Система» — «Общие настройки» — вкладка «Сервер».
  2. В пункте «Включить SSL» выберите «Весь сайт» и сохраните изменения.
  3. В конфигурационном файле configuration.php в строке с параметром $live_site укажите URL вашего сайта с протоколом HTTPS:

1С-Битрикс

Для CMS Битрикс рекомендуется выполнить несколько дополнительных проверок:

  • Проверить работу форм обратной связи, так как ajax-запросы могут содержать ссылки на HTTP, которые перестанут работать.
  • Проверить интеграцию с 1С. Если ваша версия 1С не поддерживает протокол HTTPS, добавьте следующий код в .htaccess:
  • Проверить выгрузки на торговые площадки (Яндекс.Маркет и др). Файлы выгрузки будет нужно сгенерировать заново. В разделе «Рабочий стол» — «Магазин» — «Настройки» — «Экспорт данных» включите опцию «Использовать в выгрузке протокол https» в выгрузке Yandex.
  • Если используется CDN, поставьте флажок в поле «Сайт работает по https» в настройках сервиса «Ускорение сайта CDN».
  • В настройках модуля «E-mail маркетинг» включите https для ссылок в письмах.
Читайте также:  Modx pthumb не работает

Drupal

Для Drupal 8 дополнительных настроек не требуется.

Для Drupal 7 в конфигурационный файл settings.php добавьте строки:

MODX Revolution

  1. В админ-панели сайта перейдите в раздел «Настройки» — «Системные настройки» — вкладка «Сайт».
  2. Найдите параметр «Тип сервера» (можно искать по ключу server_protocol ) и замените HTTP на HTTPS.
  3. Далее найдите параметр «Схема URL» (ключ link_tag_scheme ) и замените значение -1 на 1.

Если в работе сайта возникают проблемы, попробуйте дополнительно внести следующие изменения в конфигурационный файл config.inc.php :

OpenCart

  1. В админ-панели сайта перейдите в раздел «Система» — «Настройки».
  2. На вкладке «Сервер» в пункте «Использовать SSL» выберите «Да» и сохраните изменения.

В конфигурационном файле /public_html/config.php в блоках HTTP и HTTPS укажите URL вашего сайта с протоколом HTTPS:

В конфигурационном файле /public_html/admin/config.php также укажите протокол HTTPS в блоках HTTP и HTTPS:

Prestashop

  1. Перейдите в раздел «Параметры магазина» — «Общее» и в самом первом пункте «Включить SSL» нажмите на ссылку для проверки поддержки HTTPS.
  2. При появлении уведомления безопасности подтвердите переход по ссылке.
  3. В пункте «Включить SSL» выберите «Да» и сохраните настройки.
  4. В пункте «Включить 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, в директорию вашего сайта, и после обновить ссылки;
  • найти аналог этого сайта или ресурса и полностью обновить ссылки на данный элемент;
  • не использовать этот файл или скрипт, если есть такая возможность, и полностью удалить его из кода страницы.

Источник

Adblock
detector