[RESOLU] Nginx template - API REST

MantisBT forum for users who prefer to ask and answer questions in French.

Moderators: Developer, Contributor

Post Reply
kl3sk
Posts: 6
Joined: Aug 27, 2019 7:56 am

[RESOLU] Nginx template - API REST

Post by kl3sk » Aug 27, 2019 8:00 am

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 ?
Last edited by kl3sk on Aug 29, 2019 7:27 am, edited 1 time in total.

kl3sk
Posts: 6
Joined: Aug 27, 2019 7:56 am

Re: Nginx template

Post by kl3sk » Aug 28, 2019 7:54 am

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)
Attachments
mantis-rest-login-page.png
API REST call
mantis-rest-login-page.png (7.34 KiB) Viewed 390 times

kl3sk
Posts: 6
Joined: Aug 27, 2019 7:56 am

Re: Nginx template

Post by kl3sk » Aug 28, 2019 2:43 pm

Je pense avoir trouvé je tâche de vous poster ça dès demain.

kl3sk
Posts: 6
Joined: Aug 27, 2019 7:56 am

Re: Nginx template

Post by kl3sk » Aug 29, 2019 2:22 am

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

Post Reply