มันตั้งค่าง่ายๆ
สามนักเทียบท่าคอนเทนเนอร์ในเครือข่ายเดียวกัน
- ReactJs - การผลิตที่สร้างขึ้นบนเซิร์ฟเวอร์ nginx
- สปริงบูต
- มายเอสคิวแอล
รับ คำขอ POST ใช้งานได้อย่างมีเสน่ห์ แต่เมื่อฉันพยายามใช้คำขอ PATCH ฉันจบลงด้วย
คำขอ CORS ไม่ถูกต้อง
2021/09/01 23:17:27 [ประกาศ] 31#31: *5 "/api/(.*)" ตรงกับ "/api/task/assign/5/S01", ไคลเอ็นต์: 172.18.0.1, เซิร์ฟเวอร์: localhost คำขอ: "PATCH /api/task/assign/5/S01 HTTP/1.1", โฮสต์: "localhost", ผู้อ้างอิง: "http://localhost/operator/controlpanel"
2021/09/01 23:17:27 [ประกาศ] 31#31: *5 ข้อมูลที่เขียนใหม่: "/task/assign/5/S01", args: "", ลูกค้า: 172.18.0.1, เซิร์ฟเวอร์: localhost, คำขอ: "PATCH /api/task/assign/5/S01 HTTP/1.1", โฮสต์: "localhost", ผู้อ้างอิง: "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" "-"
การกำหนดค่า nginx ของฉัน
เซิร์ฟเวอร์ {
ฟัง 80;
server_name localhost;
หมดอายุ -1;
etag ปิด;
proxy_no_cache 1;
rewrite_log บน;
ที่ตั้ง / {
รูท /usr/share/nginx/html;
try_files $uri /index.html;
}
ที่ตั้ง /api {
เขียนใหม่ /api/(.*) /$1 ตัวแบ่ง;
proxy_pass http://app:8080;
เปิด proxy_pass_request_headers;
แอปพลิเคชัน default_type/json;
}
}
เมื่อสิ้นสุดการบูตสปริง ฉันไม่ได้รับข้อมูลคำขอใด ๆ ดังนั้นฉันคิดว่ามันถูกบล็อกก่อนที่จะส่งไปยังเซิร์ฟเวอร์สปริง
มีความคิดอะไรที่ฉันทำผิด?