Модератор
Юрій
(@yube)
Есть предположение, что реальный сервер ничего не знает о cloudflare, а потому получив от своего DNS реальный IP сервера (то есть свой собственный), обращается сразу по нему и там получает самоподписанный сертификат вместо настоящего клаудфларевского.
Скорее всего так и есть.
Вопрос только в том считать ли ошибкой данное сообщение о здоровье сайта или реально умный WP сообщает, что он чего-то не может сделать, отваливается с ошибкой по причине самоподписанного сертификата и это влияет на производительность сайта.
Добавил в php.ini
curl.cainfo =/var/www/some-user/data/php-bin/cacert.pem
скачал соответствующий файл в директорию cacert.pem
Перегрузил.
Результата нет. Критические ошибки остались.
Тут выплыла еще более мощная проблема: плагин Contact Form 7 перестал отправлять сообщения. Например, тут: https://saleandbuy.ru/privet/ Крутится колесико и больше нет никаких движений. Я даже не заметил когда случилась эта неприятность, поскольку сайт был в стадии разработки и постоянно что-то ставилось, менялось. Предполагаю, что после установки ssl сертификата от Cloudflare и из-за ошибок с REST API.
Примечание: на том же ВПС размещен сайт, который использует Contact Form 7 на той же теме Sahifa, то без https и отправка нормальная. Поговорил с хостером, утверждает, что каких-то ограничений на отправку сообщений с сайта с его стороны нет.
Порекомендуйте, что делать. Спасибо.
-
Ответ изменён 5 лет, 2 месяца назад пользователем akigleo.
https://saleandbuy.ru/wp-json/contact-form-7/v1/contact-forms/21142/feedback
{"code":"rest_disabled","message":"REST API disabled.","data":{"status":401}}
REST API отключён каким-то плагином?
REST API сознательно не отключал.
Проверил functions.php на наличие кода отключающего REST API. Плагины типа Disable REST API или похожие не ставил.
Активные плагины
Akismet Anti-Spam Версия 4.1.2 автора Automattic
All In One SEO Pack Версия 3.2.6 автора Michael Torbert
amr shortcode any widget Версия 3.7 автора anmari
Contact Form 7 Версия 5.1.4 автора Takayuki Miyoshi
Contact Form 7 — Dynamic Text Extension Версия 2.0.3 автора Chris Mavricos, SevenSpark
Cyr-To-Lat Версия 4.2.3 автора Sergey Biryukov, Mikhail Kobzarev, Igor Gergel
Decent Comments Версия 1.8.0 автора itthinx
Display Posts Версия 3.0.2 автора Bill Erickson
Indeed Ultimate Membership Pro Версия 8.2 автора indeed
InterKassa Gateway Версия 1.5 автора Interkassa
PHP Everywhere Версия 2.0.0 автора Alexander Fuchs
Posts Table Pro Версия 2.1.1 автора Barn2 Media
Shortcodes Ultimate Версия 5.4.1 автора Vladimir Anokhin
Shortcodes Ultimate: Additional Skins Версия 1.5.6 автора Vladimir Anokhin
Shortcodes Ultimate: Extra Shortcodes Версия 1.5.12 автора Vladimir Anokhin
Simple Custom CSS Версия 4.0.2 автора John Regan, Danny Van Kooten
TinyMCE Advanced Версия 5.2.1 автора Andrew Ozz
Ultimate FAQ Версия 1.8.24 автора Etoile Web Design
W3 Total Cache Версия 0.10.0 автора Frederick Townes
WC Custom Thank You Версия 1.2.1 автора Nicola Mustone
WooCommerce Версия 3.7.0 автора Automattic
Wordfence Security Версия 7.4.0 автора Wordfence
WP-dTree Версия 4.4.5 автора Ulf Benjaminsson
WP Author Box Pro Версия 2.0.7 автора phpbits
wpDiscuz Версия 5.3.2 автора gVectors Team (A. Chakhoyan, G. Zakaryan, H. Martirosyan)
WP User Frontend Версия 3.1.9 автора Tareq Hasan
WP User Frontend Pro — professional Версия 3.1.8 автора weDevs
Неактивные плагины:
Ajax Search Pro Версия 4.16.1 автора Ernest Marcinko
Duplicate Post Версия 3.2.3 автора Enrico Battocchi
Post Type Switcher Версия 3.2.0 автора John James Jacoby
Query Monitor Версия 3.3.7 автора John Blackbourn
Reveal IDs Версия 1.5.3 автора Oliver Schlöbe
WordPress Importer Версия 0.6.4 автора wordpressdotorg
Модератор
Yui
(@fierevere)
永子
Wordfence Security Версия 7.4.0 автора Wordfence
проверьте настройки
В Wordfence Security стояла галка: х для опции:
Prevent discovery of usernames through ‘/?author=N’ scans, the oEmbed API, and the WordPress REST API
Отключение, сброс кеша, ничего не дало.
Временно отключил сам плагин Wordfence Security. После сброса кеша, перепроверил повторно — сообщение
https://saleandbuy.ru/wp-json/contact-form-7/v1/contact-forms/21142/feedback
не изменилось.
Аналогично и ошибки здоровья сайта.
Не самый удачный сертификат. Кое-кто сайт вообще не увидит(старый Хром например)-На сайте saleandbuy.ru используется неподдерживаемый протокол
Впрочем, к основной проблеме это не относится.
Модератор
Yui
(@fierevere)
永子
@svg — https://www.ssllabs.com/ssltest/analyze.html?d=saleandbuy.ru&s=104.27.145.76&latest
нормальный сертификат. C видимостью сайта тоже все хорошо, «Старый Хром» это 49 версии на WinXP ? Давно пора закопать.
Cloudflare критикуют и отзывы не очень
Вполне можно обойтись без него. Сейчас практически любой хостинг предоставляет бесплатный SSL сертификат.
Сертификат можно и отдельный взять не отказываясь от функционала Cloudflare. Что касается отзывов, то они разные и всех свои задачи.
Если вернуться к основной проблеме, то в какую сторону копать?
Верно ли я понимаю, что проблема с отправкой через Contact Form 7 обусловлена отключенным REST API?
Я погуглил на доступном мне уровне и вижу, что как таковой кнопки «включить REST API» нет, поскольку все в WP по умолчанию включено. Нужно вероятно только искать где стоит установка по его отключению в каком-то конфиге.
Cloudflare критикуют
вы на даты в статье принципиально не смотрите, или это просто что бы что-то ляпнуть?
Вполне можно обойтись без него. Сейчас практически любой хостинг предоставляет бесплатный SSL сертификат.
так-то и без обуви обойтись можно — любая береза предоставляет бесплатные лапти.
Модератор
Yui
(@fierevere)
永子
CF7 сейчас без REST API больше не работает.
Отключить вы могли его или плагинами, из кандидатов — WordFence
или в .htaccess (запрет на /wp-json URL)
Также могли отключить в functions.php темы.
.htaccess просмотрел, запретов не увидел. Для верности скопировал его временно с сайта, где ошибка для REST API не выдается, а набор плагинов близкий. Все равно выдается ошибка.
Переименовал в дочерней теме function.php, чтобы подтягивался только оригинальный function основной темы. Все равно выдается ошибка.
Вырубил все плагины кроме w3 Total Cash и Contact Form 7. Ошибка на месте.
Хм… иссяк.
Вырубил все плагины кроме w3 Total Cash
В ядре WordPress нет строки «REST API disabled», зато она обнаружилась в W3 Total Cache, вместе с функцией отключения. Стоит проверить его настройки.