Вопрос или проблема
Я разрабатываю сайт, у которого есть SSL-сертификат. Я активировал работу wp-admin через https (используя define('FORCE_SSL_ADMIN', true);
в wp-config.php).
Это создало много проблем при использовании wp-admin.
1) Во время работы в wp-admin я регулярно получаю сообщение о том, что сеанс истек. Насколько я понимаю, это чаще всего происходит при переходе с одной страницы админки (url) на другую страницу (url).
2) В Chrome я часто вижу маленький серебристый щит в адресной строке, указывающий на то, что страница пытается загрузить “небезопасные скрипты”. Мне приходится вручную указывать загрузку этих скриптов (я понимаю, что это скрипты, которые wp-admin пытается загрузить через http, а не https).
3) Некоторые страницы загружаются нормально с полной поддержкой HTTPS (без смешанного содержимого) и EV зеленой полоской и т.д. Но другие страницы (в админке) будут вызывать ошибки смешанного содержимого. Кажется, что при переключении с URL с ошибками смешанного содержимого на URL без таких ошибок (или наоборот) возникает проблема с истечением сеанса (не на 100% уверен в этом, но определенно выглядит так).
На пользовательской стороне я использовал whynopadlock.com, чтобы показать мне, какие ресурсы загружаются через HTTP при использовании HTTPS, и исправил их (это были простые изображения в постах и т.д.). Но так как wp-admin требует входа в систему, у меня нет такой возможности.
У меня два вопроса:
Q1) Существует ли рекомендуемый способ заставить wp-admin работать корректно через SSL?
Q2) Какой рекомендуемый способ устранения неполадок, почему wp-admin через SSL так нестабилен? (то есть он работает на некоторых административных страницах, ломается на других и вызывает истечение сеанса на третьих).
Спасибо,
Джонатан
Вы должны проверить все файлы, которые вы загружаете на админ-страницах (включая файлы, загружаемые из плагинов); они должны загружаться через HTTPS. WordPress заботится о файлах, которые он загружает сам, но он не контролирует, если вы или ваши плагины загружаете ресурсы через HTTP; вы должны это исправить.
Чтобы найти ресурсы, загружаемые через HTTP, вы можете использовать консольный лог разработчиков Chrome или Firefox.
Также существуют некоторые случаи, когда wp-admin загружает ресурсы с пользовательской стороны. Например, настраиваемый интерфейс находится на стороне администрирования, но предпросмотр — это iframe с пользовательской стороны. Если у вас есть SSL только на админ-стороне, это может вызвать проблемы.
Лучшее, что вы можете сделать, — это использовать HTTPS на всем сайте. Это будет более стабильно, вашим пользователям это понравится и поисковые системы тоже это оценят.
Другой способ исправить это — включить wp_debug, так как это позволит вам попасть в WP Admin, а затем установить и активировать плагин Really Simple SSL… Это поможет решить проблему с предупреждениями о смешанном содержимом или истечении сеанса на вашем сайте WordPress.
Система WordPress использует общие скрипты и ресурсы между бекэндом и фронтэндом, не следует использовать SSL только для WP-ADMIN. Это создаст множество непредвиденных сложностей. Вы также можете найти HTTP-ссылки, просмотрев исходный код страницы и поискать строку http://
Лучшая практика — перевести весь сайт на HTTPS.
- Убедитесь, что экран WP-Admin/Settings настроен на https:// для обеих ссылок на сайт (поле адреса WordPress и поле адреса сайта)
- Вы можете сделать резервную копию базы данных в формате SQL – найдите и замените все вхождения HTTP -> HTTPS с помощью текстового редактора, а затем заново загрузите и перезапишите базу данных. Пожалуйста, сохраните резервную копию оригинальной базы данных.
- Создайте/измените конфигурационный файл apache/nginx для перенаправления всего обычного HTTP-трафика на HTTPS. Здесь: Как заставить ваш сайт перенаправлять на https (SSL) или Как перенаправить HTTP на HTTPS в Apache и Nginx? (.htaccess и .conf)
- Для любой дальнейшей ситуации установите плагин Really Simple SSL — объясняется здесь – Как исправить проблему смешанного содержимого для WordPress
Опционально:
Если вы действительно хотите, чтобы ваш сайт быстро работал на HTTPS, используйте AutoOptimize, WP Fastest Cache и CloudFlare вместе. Затем используйте WP-Optimize, чтобы устранить все накладные расходы базы данных.
.
Ответ или решение
Решение проблем с смешанным контентом и истекшими сессиями в SSL и wp-admin
Уважаемый Джонатан,
Рассматривая ваши проблемы с использованием SSL на сайте WordPress, я хотел бы предложить несколько эффективных решений для устранения ошибок сессии и смешанного контента.
Понимание проблемы
-
Истечение сессий в wp-admin – Эта проблема зачастую возникает при переключении между страницами, что может быть следствием некорректных ссылок или несогласованного контента.
-
Смешанный контент – Загрузка элементов через HTTP вместо HTTPS может вызвать предупреждения в браузерах, как, например, в Chrome. Это связано с тем, что часть ресурсов сайта может оставаться доступной по небезопасному протоколу.
Рекомендуемые решения
-
Переход сайта на полное HTTPS
- Измените настройки WordPress для адресов WordPress и сайта на использование HTTPS (в разделе настройки "Общие").
- Перезапишите базу данных – Сделайте резервную копию базы данных, а затем найдите и замените все вхождения HTTP на HTTPS.
- Настройте сервер – Измените конфигурации Apache или Nginx, чтобы перенаправлять весь HTTP трафик на HTTPS. Могут помочь статьи: DreamHost’s руководство или ServerGuy.
-
Тестирование и устранение смешанного контента
- Консоль разработчика в браузерах Chrome или Firefox поможет вам идентифицировать все элементы, загружаемые по HTTP. Это позволит исправить такие ссылки.
- Просмотр исходного кода страницы поможет вам вручную найти и заменить неправильно настроенные ссылки в коде сайта.
-
Использование плагинов
- Установите и активируйте плагин Really Simple SSL, который автоматически конфигурирует WordPress для работы по HTTPS и может помочь с исправлением смешанного контента.
- Для оптимизации производительности также рассмотрите использование плагинов: AutoOptimize, WP Fastest Cache и фреймворка CloudFlare.
-
Устранение проблем с плагинами – Убедитесь, что все используемые плагины совместимы с HTTPS. Некоторые могут вызывать конфликты или оставлять ссылки на HTTP.
-
Активируйте режим отладки – Включите
WP_DEBUG
в файлеwp-config.php
, чтобы видеть все ошибки, которые могут возникать. Это позволит вам более эффективно находить и исправлять проблемы. -
Мониторинг и поддержка – Регулярно проверяйте ваш сайт на наличие ошибок SSL и смешанного контента с помощью инструментов онлайн-аудита безопасности, таких как whynopadlock.com.
Эти шаги помогут вам улучшить безопасность сайта и избавиться от проблем сессий и смешанного контента в админке WordPress. Надеюсь, эта информация окажется полезной для вас.
С уважением,
[Ваше Имя]
IT эксперт