L'autre jour, j'ai écrit Une histoire sur la construction d'un système OSS WebDB appelé Exment avec une combinaison de Lightsail + Docker.
Après cela, j'ai également écrit Article qui combine la facture cloud Exment et MF avec API.
Donc, vous avez oublié d'écrire quelque chose d'important dans les deux articles.
Cela fonctionne avec Postman, mais pas avec Node.js. Pourquoi ... Oui, CORS ...
Donc, voici Docker-compose qui exploite l'extension, mais le serveur Web fonctionne sur nginx.
C'est pourquoi j'ai ajouté les paramètres CORS pour nginx.
nginx.conf
server {
listen 8080;
server_name _;
root /var/www/exment/public;
index index.php index.html;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE';
add_header Access-Control-Allow-Headers 'Origin, Authorization, Accept, Content-Type';
add_header Access-Control-Max-Age 3600;
add_header Content-Type 'text/plain charset=UTF-8';
add_header Content-Length 0;
return 204;
}
try_files $uri /index.php?$query_string;
}
location ~ \.php$ {
add_header Access-Control-Allow-Origin '*' always;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
--Référence: Édition définitive définissant CORS pour la configuration d'un serveur API