Для владельца сайта исчезновение значка замка в браузере — один из самых тревожных сигналов, связанных с безопасностью. Часто сайт работал нормально, но после установки нового шаблона или обновления нескольких изображений в адресной строке появляется предупреждение. Технически причины этой ситуации понятны, но их поиск и устранение нередко становится серьезным испытанием для неопытного разработчика.
Проблема mixed content
Самая распространенная причина — mixed content, то есть ресурсы, загружаемые по HTTP внутри HTTPS-страницы. Это может быть изображение, JavaScript-файл, CSS или видео. Современные браузеры в этом случае убирают значок замка и выводят предупреждение в консоль. По опыту Sayt.uz, корень проблемы чаще всего кроется в жестко прописанных http:// ссылках в старых шаблонах. Для исправления необходимо просмотреть HTML, CSS и JavaScript файлы сайта и заменить все http:// на https://, либо лучше использовать протокол-относительный формат //.
Истекший или некорректный сертификат
Вторая частая причина — истечение срока сертификата или его выпуск на неверный домен. Автоматическое обновление могло перестать работать, например сервис Let's Encrypt certbot остановился или была отключена cron-задача. Иногда сертификат выпущен на основной домен, но не включает www-поддомен. В таком случае при заходе через www браузер показывает ошибку. Для проверки можно использовать команду openssl s_client -connect domen.uz:443.
Внешние сервисы и виджеты
Многие сайты подключают виджеты и скрипты от сторонних сервисов — Google Maps, YouTube, онлайн-консультанты и платежные системы. Если один из этих сервисов работает не по HTTPS или использует просроченный сертификат, вся страница помечается как "не полностью защищена". В этом случае каждый внешний ресурс нужно проверить отдельно и при необходимости удалить или заменить.
Поддомены и канонические ссылки
Сайт мог прописать канонической ссылкой http://domen.uz для SEO. Это создает противоречивый сигнал для браузера и поисковых систем, даже если страница открывается по HTTPS. Все canonical, hreflang и Open Graph URL должны начинаться с https://. Кроме того, в .htaccess или конфигурации nginx обязательно должно быть настроено 301-перенаправление с HTTP на HTTPS.
Sayt.uz практика
Техническая служба Sayt.uz в апреле 2036 года проанализировала 1 247 обращений клиентов по проблеме значка замка. Из них 64 процента приходилось на mixed content, 21 процент — на истекшие сертификаты, 9 процентов — на несоответствие домена и 6 процентов — на внешние виджеты. После запуска инструмента автоматической проверки 88 процентов проблем выявлялись до обращения клиента, и ему отправлялось предупреждение. Услуга переустановки SSL-сертификата стоит 95 000 сум, аудит mixed content — 145 000 сум. В большинстве случаев проблема устраняется в течение нескольких часов.