Hinweis: Die Einstellungen für nginx.conf für CORS in der Umgebung von Exment on Lightsail + Docker (nginx)

Neulich schrieb ich Eine Geschichte über den Aufbau eines OSS-WebDB-Systems namens Exment mit einer Kombination aus Lightsail + Docker.

Danach schrieb ich auch Artikel, der Exment- und MF-Cloud-Rechnung mit API kombiniert.

Sie haben also vergessen, in beiden Artikeln etwas Wichtiges zu schreiben.

Exment API wird nicht bestanden

Es funktioniert mit Postman, aber nicht mit Node.js. Warum ... Ja, CORS ...

Hier ist also Docker-compose, das Extension betreibt, aber der Webserver läuft auf nginx.

Deshalb habe ich die CORS-Einstellungen für Nginx hinzugefügt.

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;
    }
}

--Referenz: CORS-Einstellung der endgültigen Ausgabe zum Einrichten eines API-Servers

Recommended Posts

Hinweis: Die Einstellungen für nginx.conf für CORS in der Umgebung von Exment on Lightsail + Docker (nginx)
Konfigurationsskript für die Verwendung von Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
[Docker] Verwenden Sie Umgebungsvariablen in Nginx conf
Installieren Sie einfach Laravel 8 auf dem Docker in der PHP8-Umgebung
Punkte, die beim Ausführen von vite + Nginx in der Docker-Umgebung hängen bleiben
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
[Rails] Einstellungen zum Laden von Web-Schriftarten in CloudFront mit Heroku
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx