
Ich habe eine AngularJS/NodeJs-Web-App und verwende Nginx auf DigitalOcean für den Server, außerdem verwende ich auch CloudFlare.
Die Website war ohne Probleme einsatzbereit. Vor einer Woche besuchte ich die Website und stellte fest, dass mein Index geändert wurde.
Willkommen bei nginx!
Wenn Sie diese Seite sehen, ist der Nginx-Webserver erfolgreich installiert und funktioniert. Weitere Konfigurationen sind erforderlich.
Online-Dokumentation und Support finden Sie unter nginx.org. Kommerzieller Support ist unter nginx.com verfügbar.
Ich habe meine Nginx-Konfigurationsdateien überprüft und festgestellt, dass es überhaupt kein Problem mit der Konfiguration gibt.also habe ich einfach den Index gelöscht und meinen alten Index wieder hochgeladenund die Website ist wieder einsatzbereit, aber,ich kann mich nicht mehr anmelden und ich glaube, ich kann keine API-Anfrage stellen.
Beim Versuch, mich anzumelden, erhalte ich lediglich diese Meldung von der Konsole.
Feuerfuchs
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://dev.website.com/api/auth/login.
(Grund: CORS-Header „Access-Control-Allow-Origin“ fehlt).
Chrom
Zugriff auf XMLHttpRequest bei 'https://dev.supplieson.com/api/auth/login' Vom Ursprung 'http://dev.supplieson.com' wurde durch die CORS-Richtlinie blockiert: Die Antwort auf die Preflight-Anforderung besteht die Zugriffskontrollprüfung nicht: Auf der angeforderten Ressource ist kein Header „Access-Control-Allow-Origin“ vorhanden.
So sieht meine Nginx-Konfiguration aus
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /usr/share/nginx/html;
index index.html index.htm index.nginx-debian.html;
#server_name supplieson.com www.supplieson.com;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location / {
try_files $uri $uri/ /index.html =404;
}
location ~ ^/images/(.*) {
alias /usr/share/nginx/api/supplieson_backend/images/$1;
}
location /api {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
error_page 404 /custom_404.html;
location = /custom_404.html {
root /usr/share/nginx/html;
internal;
}
error_page 500 502 503 504 /custom_50x.html;
location = /custom_50x.html {
root /usr/share/nginx/html;
internal;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1m;
}
}
Express-App
import cors from 'cors';
app.use((req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept, Authorization"
);
res.setHeader(
"Access-Control-Allow-Methods",
"GET, POST, PATCH, PUT, DELETE, OPTIONS"
);
next();
});
app.use(cors());