Problème API

Bonjour,
afin d’aider les développeurs au diagnostic : sur une version 14.0.2 de dolibarr et un Nginx 1.14 avec la config de libremaster ci-dessus,
en cliquant juste depuis la config du module REST, sur :
« Vous pouvez explorer et tester les API par l’URL: »

http://monsite/api/index.php/explorer
j’ai 3 lignes :
Dolibarr REST API
DOLAPIKEY
Explorer

et sous le log d’erreur de ce serveur NGINX les indications du fichier texte joint qui disent bien que cela va chercher les css et tout le nécessaire à l’affichage de swagger sous des répertoires qui n’ont jamais existé à cet endroit.
2111-log-nginx-error.txt (11,7 Ko)

par contre, si on ajoute avant la config Nginx donnée, les 2 lignes :
location ~ ^/api/(?!(index.php))(.*) {
try_files $uri /api/index.php/$2?$query_string; }
en faisant directement une requete GET /api/index.php/explorer/swagger.json?DOLAPIKEY=macle HTTP/2.0", on n’ a pas d’erreur.
Le problème est que la doc de dev de l’API est dans le swagger , donc pas de swagger, pas de dev et pas d’appli…
en espérant avoir aidé à la compréhension de ce qui se passe à cause sans doute du fichier index.php qui se trouve dans le sous dossier api avec Nginx.
merci d’avance de votre aide.

cher amis,
j’ai trouvé ce qui blague et la méthode :
1/la méthode pour avoir la bonne partie de config de Nginx :
suivre : PHP FastCGI Example | NGINX

on arrive donc à un morceau de config :

location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }

        # Mitigate https://httpoxy.org/ vulnerabilities
        fastcgi_param HTTP_PROXY "";

      	fastcgi_pass   localhost:8004; #ici mettre votre port des sockets de ftm pool..
     
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO       $fastcgi_path_info;
    
    }	

2/ ce qui blague :
mais quand la page http://monsite/api/index.php/explorer affiche que 3 lignes (voir plus haut) , c’est qu’il ne faut PAS mettre comme dans les sites web qui sont optimisés pour un affichage rapide au dessus une instruction Nginx dans le genre:

location ~* \.(css|js|jpg|jpeg|png|gif|ico|woff2)$ {
		expires 30d;
		add_header Cache-Control "public";
	}

Voilà : c’est résolu et cela fonctionne sous Debian 10 , Nginx 1.14, et Dolibarr 11 et (sans doute à) 14
en espérant vous avoir aidé.

1 « J'aime »