Ошибка 404 запроса Magento WebAPi Put не найдена

моя проблема тесно связана с Недавно API DELETE и PUT по умолчанию magento 2 не работал, это проблема с разрешением?

Я переместил рабочую установку M2.3.4 на новый сервер с centos 6 на centos 8. Таким образом, версия apache теперь 2.4, а db теперь Maria10.3. Раньше мои вызовы через webapi работали нормально, но теперь всякий раз, когда я пытаюсь вызвать запрос PUT по адресу https://www.baseurl.com/rest/all/v1/products/XXX (sku) Я получаю ответ 404 от сервера.

Я пробовал с моим приложением, а также с интерфейсом swagger с теми же результатами.

Остальное во внешнем и заднем интерфейсе работает нормально, и запрос GET тоже работает. Кажется, что выполнен только запрос PUT ** UPDATE.. Пробовал запрос на удаление, и это также дает ошибку 404.

Это похоже на проблему с разрешениями, но не знаете, с чего начать отладку.


person user552769    schedule 13.08.2020    source источник


Ответы (1)


ok Наконец-то выяснил, что было причиной этого.. 2.4 имеет различные дополнительные меры безопасности, но особая проблема была вызвана mod_security. Правило срабатывало из-за запросов PUT & DELETE. решение состояло в том, чтобы добавить строку в httpd.conf, чтобы отключить помеченное правило в соответствии с ModSecurity: доступ запрещен с кодом 403 и обнаружена инъекция SQL

ошибка была показана в error.log, настроенном для виртуального хоста в файле httpd.conf

person user552769    schedule 13.08.2020