Page 1 of 1

[RESOLU] Nginx template - API REST

Posted: 27 Aug 2019, 13:00
by kl3sk
Bonjour,

j'ai installé MantiBT 2.22.0 avec succès pour la partie web (il me semble).
Cependant je n'arrive pas à faire fonctionner l'API sous Nginx.

L'API est bien activé (par defaut depuis une version précédente)
J'ai bien un token de généré

Je reçois une 404.

Qualqu'un aurait une configuration Nginx a partager ?

Re: Nginx template

Posted: 28 Aug 2019, 12:54
by kl3sk
C'est peux être du a ma requête. J'utilise postman pour mes tests.

J'appel {{url}}/api/rest/users/me en GET avec en header Authorization: {{token}}.

Me manque t'il des informations.

Postman me répond sur la page de login (cf: pieces jointe)

Re: Nginx template

Posted: 28 Aug 2019, 19:43
by kl3sk
Je pense avoir trouvé je tâche de vous poster ça dès demain.

Re: Nginx template

Posted: 29 Aug 2019, 07:22
by kl3sk
Alors voila après près de 4 heures d'acharnement je suis arrivé à quelque chose qui répond.
Si il y a des pros Nginx, qu'ils n'hésitent pas à me corriger/optimiser.

Valable pour l'API REST bien entendu

Code: Select all

server {                                                                                           
    listen 80;                                                                                     
    root <root_path>;                                                                     
    index index.php;                                                                               
    server_name bug.bellvision.fr;                                                                 
                                                                                                   
    location / {                                                                                   
        try_files $uri /index.php$is_args$args;                                                    
    }                                                                                              
                                                                                                   
    location ^~ /api/rest {                                                                             
        alias <root_path>/api/rest;                                                       
        index index.php;                                                                           
                                                                                                   
        if (!-e $request_filename) { rewrite ^ /api/rest/index.php last; }                              
                                                                                                   
        location ~ \.php$ {                                                                        
            if (!-f $request_filename) { return 404; }                                             
            fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
                                                                                                   
            include fastcgi_params;                                                                
            fastcgi_param SCRIPT_FILENAME $request_filename;                                       
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;                                        
        }                                                                                          
    }                                                                                              
                                                                                                   
    location ~ \.php$ {                                                                                                                                          
        fastcgi_split_path_info ^(.+\.php)(/.+)$;                                                  
        include fastcgi_params;                                                                    
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;                          
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;                                            
        fastcgi_index index.php;                                                                   
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
   }                                                                                               
                                                                                                   
   error_log /var/log/api_error.log warn;                                                 
   access_log /var/log/api_access.log combined;                                           
}                                                                                                  
remplacer <root_path> par le chemin sur votre système


EDIT: l'url pour accéder à l'API dans ce car seras : http(s)://bugtracker.tld/api/rest

exemple: http(s)://bugtracker.tld/api/rest/users/me