Мы делили апельсин, много наших полегло

Неинтересный технический постинг.
Можно смело пропускать, ничего не потеряете.

После очередного планового апдейта сломался Вордпресс на сервере. Ворпдрессовский сайт blog.borninussr.ca у меня работает основным хранилищем информации, и все постинги начинаются оттуда. Теоретически можно везде (ЖЖ, FB, ТГ) копии рассылать и без него, но это неправильно, ибо без мастер-версии рано или поздно начнётся рассинхронизация, а это не то, что нам нужно.

Вобщем, полез я чинить.
Что сломалось: новые постинги не хотели публиковаться, даже в черновики не хотели сохраняться, более того, даже autosave перестал работать. При любой попытке что-либо сохранить в админке выдавало грозную надпись “Updating failed. The response is not a valid JSON response.” на суровом красном фоне. Комментарии, что характерно, работали нормально, с фронтенда сохранялось в БД всё ок.

Посмотрел, какие запросы провоцируют ошибку – оказалось, что сервер возвращает ошибку 403 Forbidden на POST-request blog.borninussr.ca/wp-json/wp/v2/posts. Такое ощущение, что ошибка по strict-origin-when-cross-origin выскакивает. GET-request на тот же URL при этом, удивительно, работает нормально.

Гугл первым делом советует проверить настройки (Settings/General) в админке, чтоб WordPress Address (URL) и Site Address (URL) совпадали. Совпадают, естественно. На всякий случай удалил и заново пересоздал SSL сертификат, не помогло.
Отключил все wordpress-плагины один за другим – не помогло. Переключил template (в Appearance) на какую-то стандартную тему – тоже не помогло. Удалил в браузере все куки, относящиеся к сайту – никакой реакции.

Взялся за дело всерьёз. Обновил версию PHP на сервере с древней 7.3.3 на последнюю 8.2.8 – фигвам, никакой реакции. После этого обновления, кроме всего прочего, грохнулся и так и не заработал плагин LJ-XP, который использовался для кросс-постинга в ЖЖ. Ну не больно-то и хотелось, туда ему и дорога.

Пересоздал subdomain blog.borninussr.ca, переинсталлировал Вордпресс в другую директорию, ещё раз перегенерировал SSL сертификат, ноль эмоций. Как-то вообще охренел от такого поведения Вордпресса.

Где-то посоветовали – установил JSON Basic Authentication плагин. Тоже не помогло.
Сдался. Уснул.

Вобщем, наутро само заработало.
Подозреваю, кэширование какое-то где-то истекло. Включил обратно все плагины (кроме LJXP, который помер, судя по всему, надолго), отключил на всякий случай этот новый плагин JSON Basic Authentication, вроде пока всё работает.
Зато теперь имею последние версии WP и PHP – блестят, как новая копейка.

А вы как обычно развлекаетесь в последнюю неделю фуллтайм-работы? 🙂

One Comment

  1. alvav says:

    да уж, триллер.
    Мудрое решение забить поспать.

Leave a Reply

You must be logged in to post a comment.