SSL + BFS ошибка 500, 404, ошибка сертификата
-
Товарисчи, дорогие, хелп!
Имеется сертификат ssl для сайта. Купленный.
Сайт находится на субдомене.
Помимо этого на сайте активирован плагин BulletProof https://wordpress.org/plugins/bulletproof-security/При попытке изменить «стандартно» адрес вордпресса с http на https — сайт уходи в циклическую переадресацию.
Пробовал уже что угодно.
Установил с ноля вордпресс, в итоге удалось запустить всё же https, но не подгружается явно css. Хотя, это через одно место, я бы сказал.
Где копать? спасибо
-
При попытке изменить «стандартно» адрес вордпресса с http на https
В обоих полях?
сайт уходи в циклическую переадресацию
С какого адреса на какой?
Помимо этого на сайте активирован плагин BulletProof
Что будет, если его отключить?
в итоге удалось запустить всё же https, но не подгружается явно css
Что выдаётся, если открыть CSS-файл по прямой ссылке?
Стоит иметь в виду, что редиректы часто кешируются браузером, поэтому после выполнения тех или иных действий лучше проверять не тот же адрес, что и раньше, а с дополнительным параметром:
https://site.ru/?1
,https://site.ru/?2
и т.д.В обоих полях?
И в обоих и в поочередных.
С какого адреса на какой?
Трудно сказать. Ни в одном браузере перескакиваний не вижу. Только попытку https в адресной строке вижу и всё.
Что будет, если его отключить?
Во-первых всё же без защиты не хотелось бы остаться. Грешил сначала на плагины, потом на тему. Потом с ноля поставил вордпресс на субдомен. Без плагинов, со стандартной формой. В итоге — получаю либо циклическую ошибку, либо ошибку вида:
Fatal error: Call to undefined function wp_json_encode() in ../wp-admin/includes/misc.php on line 668Это при том, что вордпресс, повторюсь, чистый.
Стоит иметь в виду, что редиректы часто кешируются браузером, поэтому после выполнения тех или иных действий лучше проверять не тот же адрес, что и раньше, а с дополнительным параметром: https://site.ru/?1, https://site.ru/?2 и т.д.
Работаю в режиме инкогнито по этому вопросу. Поэтом, каждый раз закрываю браузер для проверки. Настройки произвожу в стороннем, чтобы избежать этой проблемы. Кстати, по вопросу https после обновления вордпресса до 4.1 на английском форуме у не у меня одного, как оказалось возникла такая проблема — https://wordpress.org/support/topic/fatal-error-after-41-upgrade
Поэтому, вопрос стоит глобальный. Я сейчас, конечно, подключил своего хостера, пытаемся вместе как-то это побороть. Но, я задал вопрос со стороны обычного пользователя, который скажем не бум-бум в кодинге. В этом случае у моих клиентов просто паника начиналась при виде ошибки и loop-а.
Именно это и стало причиной моего обращения сюда, после того, как попытки решить вопрос самостоятельно не увенчались успехом.
Спасибо заранее за помощь.
С какого адреса на какой?
Трудно сказать.
Хм… Не умеете смотреть http-заголовки? F12, вкладка «Сеть». Или любой другой инструмент разработчика и тех.поддержчика 🙂
Хм… Не умеете смотреть http-заголовки? F12, вкладка «Сеть». Или любой другой инструмент разработчика и тех.поддержчика 🙂
Неправильно выразился. Там не вижу проблемы, как таковой. Попытка загрузить https циклическая.
На стороне хоста всё пересмотрел сто раз — htaccess-а изначально нет, т.к.я работаю на чистом движке. Пробовал пересоздавать — результата «0». Пробовал поочередно менять (с восстановлением бэкапа) сначала адрес вордпресса, потом адрес сайта на https (в админке) — та же тема (луп или ошибка).
Хостер сказал, что проблема в functions, а также файлах папки wp-includes, повторюсь, я уже тупо всё вынес на отдельный субдомен, чтобы сайт рабочий в покое оставить. Т.е. работаю с 4.1 wordpress и стандартной темой.
Ошибка Fatal error: Call to undefined function wp_json_encode() in ../wp-admin/includes/misc.php on line 668 вылазит после плясок с бубном и замены в папке wp-includes. Но, во-первых по сути это уже доработка, а не «стандартная версия». Не хотелось бы на всех сайтах так мудохаться.
Во-вторых, даже если сайт грузится с https:
1. Главная всё равно http
2. На сайте не переменные заменяются на https, из-за чего выдается ошибка шифрования
3. В админку попасть нереально — Fatal error: Call to undefined function wp_json_encode() in ../wp-admin/includes/misc.php on line 668Поэтому, всё же хотелось бы понять, как же это всё-таки закрыть. Сегодня думаю откатиться до прошлой версии движка. Конечно, это не рекомендуется, но у меня просто ступор в решениях. Сайтов с десяток. Вопрос поэтому хочу решить глобально, чтобы версия движка везде была актуальной, ну и с плагинами чтобы работало. Хотя, сейчас даже в этом плане вопрос не стоит, ведь «чистый» движок не пашет.
В итоге — получаю либо циклическую ошибку, либо ошибку вида:
Fatal error: Call to undefined function wp_json_encode() in ../wp-admin/includes/misc.php on line 668Это при том, что вордпресс, повторюсь, чистый.
Ошибка Fatal error: Call to undefined function wp_json_encode() in ../wp-admin/includes/misc.php on line 668 вылазит после плясок с бубном и замены в папке wp-includes.
Если правились файлы ядра, установку уже нельзя назвать чистой.
Функция
wp_json_encode()
появилась в WordPress 4.1, ошибка вызвана использованием файлаwp-includes/functions.php
от более старой версии.Хостер сказал, что проблема в functions, а также файлах папки wp-includes
Так и сказал, или всё же что-то более конкретное?
Сегодня думаю откатиться до прошлой версии движка. Конечно, это не рекомендуется, но у меня просто ступор в решениях.
Если версия 3.9.3 или 4.0.1 работает, то лучше откатиться на неё, чем смешивать файлы от разных версий. Для 3.9.x и 4.0.x ещё долгое время будут выходить обновления безопасности (вместе с 4.0.1 вышли версии 3.9.3, 3.8.5 и 3.7.5).
Так и сказал, или всё же что-то более конкретное?
Так и сказал — все проблемы искать не хотим, заменили папку wp-includes.
Сделал запрос на изменения, чтобы это применить на других сайтах.Если версия 3.9.3 или 4.0.1 работает, то лучше откатиться на неё, чем смешивать файлы от разных версий. Для 3.9.x и 4.0.x ещё долгое время будут выходить обновления безопасности (вместе с 4.0.1 вышли версии 3.9.3, 3.8.5 и 3.7.5).
У меня стояла версия 4.0.1 — там такая же борода была. Просто решил обновиться до 4.1, в надежде на решение вопроса.
Посмотрим, что это даст. Но, как вариант.
Единственное «ню», у меня же вордпресс до этого обновлялся автоматически. С 4.0.1 этого не должно произойти, если я откачусь, чтобы протестировать функциональное решение по SSL.
Спасибо за ответ.
Если правились файлы ядра, установку уже нельзя назвать чистой.
Функция wp_json_encode() появилась в WordPress 4.1, ошибка вызвана использованием файла wp-includes/functions.php от более старой версии.
Да, это было после того, как на новой версии правка адреса не помогла. Но, в целом направление я понял. Посмотрим, что из этого выйдет. Возможно сегодня тут отпишу, если вопрос решу.
Вопрос решен. Удалось всё-таки внести нужные изменения в functions.php и в пару файлов. Всем спасибо за желание помочь.
Поделитесь, пожалуйста, решением — оно может быть полезно другим.
Если описать сделанные изменения в вашем тикете — возможно, их включат в следующую версию. Или найдётся вариант добиться того же эффекта без правки файлов ядра.
Поделитесь, пожалуйста, решением
Я это сделал только на чистом wordpress-е. Ещё с рабочей темой не тестировал. Поэтому, я думаю ризонно буде сделать это после полного релиза.
Решение оказалось простым.
1. Поменял в админке http на https
2. В файле wp-includes/functions.php в строках № 3670, 3671, 3673 изменил HTTPS на HTTP_SSL
Залил файл обратно по FTP.После этого, по совету хостера, в htaccess, который в корне, внес следующие изменения:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://www.сайт.com/$1 [L,R=301]В файле wp-includes/functions.php в строках № 3670, 3671, 3673 изменил HTTPS на HTTP_SSL
Попробуйте добавить строку в
wp-config.php
:$_SERVER['HTTPS'] = !empty( $_SERVER['HTTP_SSL'] ) ? $_SERVER['HTTP_SSL'] : 0;
Этого должно быть достаточно, чтобы не править функцию.
Этого должно быть достаточно, чтобы не править функцию.
Это нужно где-то добавить конкретно? (имею ввиду, имеет значение где?)
Или же нужно что-то заменить?
- Тема «SSL + BFS ошибка 500, 404, ошибка сертификата» закрыта для новых ответов.