Навигация

8 (800) 77-55-7718 (800) 77-55-771

8 (800) 77-55-771

Архив метки

Удаление смешанного содержимого https

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

Как решить проблему смешанного содержимого:

  1. Скачайте копию сайта к себе на компьютер, чтобы удобно было искать вхождения проблемных элементов в исходном коде
  2. Откройте проблемную страницу в любом браузере
  3. Нажмите F12 для запуска отладчика, перейдите там на вкладку network (сеть) и и нажмите сочетание клавиш ctrl+F5 для обновления страницы.
  4. Прокручивая список загруженных элементов, найдите те, которые не загрузились (помечены красным), наведите на них указатель мыши. Отобразится полный url-адрес загружаемого объекта. Если там присутствует http:// , значит это один из виновников проблемы.
  5. На локальной копии сайта, к примеру, в total commander запустите поиск файлов с вхождением проблемного url
  6. Откройте этот файл в текстовом редакторе, найдите проблемный url и замените http:// на //
  7. Сохраните файл и загрузите его по соответствующему пути на хостинг

Обычно, это решает проблему полностью. Реже бывает, что по http подгружаются старые счётчики различных рейтингов. Например, Рамблер Топ-100, рейтинг Mail.ru и т.п. Чтобы это исправить, получите личном кабинете рейтинга новый код счётчика и обновите его в шаблоне сайта. Если же счётчик уже не нужен, просто удалите его.

Ещё реже случается, что ссылки на http:// ресурсы вставлены в сами статьи сайта. Это, пожалуй, самый сложный случай. Если таких статей очень много, вручную исправлять их будет не удобно и долго. Об этом мы напишем в ближайшее время ещё несколько статей под каждую из популярных CMS.


Генерация SSL сертификата для nginx (openssl)

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

Здесь кратко описано, как можно быстро сгенерировать самоподписаный SSL сертификат для nginx, если его не оказалось после установки веб-сервера из пакетов (rpm, deb).

Шаг 1 (генерируем сертификат):

mkdir /etc/nginx/ssl
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

При выполнении второй команды потребуется заполнить несколько полей. Тут мы приведём пример, когда приходится генерировать сертификат без указания организации:

Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Krasnodarskiy kray
Locality Name (eg, city) []:Krasnodar 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private
Organizational Unit Name (eg, section) []:Private
Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
Email Address []:admin@your_domain.com

Шаг 2 (установка сертификата):

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        listen 443 ssl http2;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name your_domain.com;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        location / {
                try_files $uri $uri/ =404;
        }
}

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

Шаг 3 (проверка конфигурации и применение настроек):

# запускаем проверку конфигурации средствами самого nginx 
nginx -t
# проверяем, чтобы тест прошёл успешно и применяем изменения
service nginx reload

 


Как подключить Lets’s Encrypt SSL сертификат в панели ISPmanager 4 pro

Для ISPmanager 4 мы реализовали возможность работы с Lets’s Encrypt SSL сертификатами самостоятельно (в стандартной конфигурации панели этого функционала нет. Подключить Lets’s Encrypt SSL теперь можно следующим образом:

Войдите в хостинг панель под основным пользователем (реселлером) с логином вида wgNNNN, где N — это цифры. Выберете в списке пользователей того пользователя, на котором расположен нужный вам сайт. После этого войдите под этим пользователем и перейдите в левом меню в раздел WWW-домены, выберите нужный домен и нажмите на кнопку «изменить».

В появившемся окне в самом низу измените значение поля «SSL шифрование» с «не использовать» на «Включить HHTP2 и SSL шифрование (Lets’s Encrypt)«.

3cea4aee3e

После этого нужно подождать около 30-60 минут, пока система выдаст вам сертификат.

Теперь вам осталось настроить автоматический редирект вашего сайта с http на https (с применением сертификата). Как это сделать описано тут.

Обращаем ваше внимание, что после перехода на сайта на работу с SSL сертификатом, нужно проверить, всё ли на сайте отображается корректно. Иногда при создании сайта разработчики указывают путь к файлам стилей, скриптам или изображениям в виде прямой ссылки http://вашсайт.ру/…. , но теперь ваш сайт открывается иначе https://вашсайт.ру/…  Следовательно вам нужно будет поменять ссылки на элементы,заменив конструкцию http на https


301 редирект с HTTP на HTTPS

301-й редирект на https нужен для правильной индексации сайта после перевода его на работу с SSL шифрованием.

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

1. Откройте в корне сайта файл с названием .htaccess или создайте его, если его нет.

2. Найдите в вашем .htaccess  файле такую строку (если её нет, добавить вначале файла):

RewriteEngine On

И после неё вставьте следующий текст:

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

3. Сохраняете изменения и закрываете редактор.

4. После этого пробуйте обновить страницу с вашим сайтом сочетанием клавиш ctrl + F5.

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