apachekirby

Error 403 forbidden when change status of page (The JSON response of the API could not be parsed) KirbyCMS - Apache mod_authz_core.c issue?


The website (using KirbyCMS) globaly “works”, but some backend function doesn’t. It doesn’t work when we try to change status of a basic page (from “draft” to “listed”). This error occur each time (403 forbidden - The JSON response of the API could not be parsed) :

error_screen

After some research, I found that this POST request “https://xxxxx.fr/api/pages/test/status” happen when I try to change page status, and it give me a 403 forbidden. So I think this is an error from my Apache server configuration. When I check the error log with debug log, I got :

[Mon Sep 04 11:52:52.882989 2023] [authz_core:debug] [pid 31108] mod_authz_core.c(820): [client xxx.xxx.xxx.xx:58312] AH01626: authorization result of Require ip 127.0.0.1: denied
- [Mon Sep 04 11:52:52.882997 2023] [authz_core:debug] [pid 31108] mod_authz_core.c(820): [client xxx.xxx.xxx.xx:58312] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 04 11:52:52.883002 2023] [authz_core:error] [pid 31108] [client xxx.xxx.xxx.xx:58312] AH01630: client denied by server configuration: /path/to/env/htdocs/public/api

here the apache vhost config

    <Directory "/x/x/path/public">
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
      AllowOverride All
      Require all granted
    </Directory>

I don’t understand why Kirby try /public/api (this folder doesn’t exist) and why it give me “Require ip 127.0.0.1: denied” when my Apache configuration is just in “AllowOverride All & Require all granted”…

I search for many hours now, without any result… I’m losing my mind. Do you have an idea ?

debian 10.13
Apache/2.4.38
Kirby 3.7

We create the /public/api, this doesnt change anything
Also tried to modify Vhost and htaccess file and checked for a cursed caracter in config file but doesnt find any


Solution

  • We figured that out, with grep -R 127.0.0.1 /etc/apache2

    The vhost was in conflict whit a apache2 config ...