![Nginx-Patch-Anforderung endet mit ungültiger CORS-Anforderung](https://rvso.com/image/770085/Nginx-Patch-Anforderung%20endet%20mit%20ung%C3%BCltiger%20CORS-Anforderung.png)
Die Einrichtung ist einfach.
Drei Docker-Container im selben Netzwerk.
- ReactJs – Produktionsbuild auf Nginx-Server
- Spring Boot
- MySQL
GET, POST-Anfrage funktioniert wie ein Zauber, aber wenn ich versuche, PATCH-Anfrage zu verwenden, endet es mit
Ungültige CORS-Anforderung
2021/09/01 23:17:27 [notice] 31#31: *5 "/api/(.*)" matches "/api/task/assign/5/S01", client: 172.18.0.1, server: localhost, request: "PATCH /api/task/assign/5/S01 HTTP/1.1", host: "localhost", referrer: "http://localhost/operator/controlpanel"
2021/09/01 23:17:27 [notice] 31#31: *5 rewritten data: "/task/assign/5/S01", args: "", client: 172.18.0.1, server: localhost, request: "PATCH /api/task/assign/5/S01 HTTP/1.1", host: "localhost", referrer: "http://localhost/operator/controlpanel"
172.18.0.1 - - [01/Sep/2021:23:17:27 +0000] "PATCH /api/task/assign/5/S01 HTTP/1.1" 403 31 "http://localhost/operator/controlpanel" "Mozilla/5.0 (Windows NT xx; Win64; x64; rv:xx) Gecko/20100101 Firefox/91.0" "-"
Meine Nginx-Konfiguration
server {
listen 80;
server_name localhost;
expires -1;
etag off;
proxy_no_cache 1;
rewrite_log on;
location / {
root /usr/share/nginx/html;
try_files $uri /index.html;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://app:8080;
proxy_pass_request_headers on;
default_type application/json;
}
}
Beim Spring Boot habe ich keine Anforderungsinformationen erhalten, daher gehe ich davon aus, dass sie vor dem Senden an den Spring-Server blockiert wurden.
Irgendeine Idee, was ich falsch mache?
Antwort1
Ihre App hat einen 403 Forbidden-Fehler gesendet, also muss sie etwas tun. Stellen Sie sicher, dass Ihre App tatsächlich protokolliert. – Michael Hampton 2. September 2021 um 16:13
Aus irgendeinem Grund hat Spring das nicht in die Protokolle aufgenommen. Wenn jemand dasselbe Problem hat, versuchen Sie, die Anfrage vor dem CORS-Filter zu debuggen.