J'ai installé Wordpress avec Nginx et PHP-FPM sur mon propre serveur à l'adresse suivante https://saskia.photo
L'installation fonctionne parfaitement mais le XML-RPC (utilisé par Jetpack et les applications téléphoniques) génère l'erreur suivante :
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>-32700</int></value>
</member>
<member>
<name>faultString</name>
<value><string>parse error. not well formed</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
Vous pouvez voir l'erreur vous-même en exécutant
curl -A "Jetpack by WordPress.com" -is -H 'Content-Type: text/xml' --data '<?xml version="1.0"?><methodCall><methodName>demo.sayHello</methodName><params></params></methodCall>' 'https://saskia.photo/xmlrpc.php' && echo
J'ai travaillé sur Page de dépannage de Jetpack mais pas de chance.
L'erreur XML renvoyée m'amène à supposer que le XML de la requête du client est corrompu quelque part entre nginx et PHP, de sorte qu'il ne peut pas être analysé.
Voici mon fichier de configuration nginx
server {
listen 80;
listen [::]:80;
server_name saskia.photo;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name saskia.photo;
ssl_certificate /etc/letsencrypt/live/saskia.photo/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/saskia.photo/privkey.pem;
root /srv/wordpress/;
charset utf-8;
client_max_body_size 64M;
# Deny access to any files with a .php extension in the uploads directory
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(gif|jpg|jpeg|png|css|js)$ {
expires max;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/wordpress.sock;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Quelqu'un a-t-il rencontré un tel problème ou peut-il déceler un problème dans mes fichiers de configuration ?