2012-09-24 33 views
5

Tôi đang thực hiện yêu cầu miền chéo trong ứng dụng web của mình.Dịch vụ Nginx không thành công cho các yêu cầu miền chéo nếu dịch vụ trả về lỗi

Tôi đã đặt tiêu đề CORS trên Nginx. Mọi thứ đều hoạt động tốt trừ khi dịch vụ trả về lỗi như 404, 400, 500 vv, thay vì nhận mã lỗi, dịch vụ không thành công với lỗi nói rằng Origin *********** is not allowed by Access-Control-Allow-Origin.

Mọi ý tưởng tại sao điều này có thể xảy ra?

Trả lời

7

trả lời tìm thấy here:

Thật không may add_header sẽ không làm việc với mã trạng thái khác hơn là 200, 204, 301, 302 hoặc 304. Bạn có thể tìm thấy điều này trong tài liệu ở đây.

Bạn có thể sử dụng plugin này để làm những gì bạn muốn:

http://wiki.nginx.org/NginxHttpHeadersMoreModule

6

Tính v1.7.5 của nginx, bạn có thể thêm "luôn luôn" vào cuối dòng add_header để giải quyết điều này.

+0

Bạn có chắc chắn không? Có tài liệu nào nêu rõ điều này không? Tôi đang sử dụng nginx/1.8.0 và tôi không nhận được các tiêu đề CORS trở lại vào 401 hoặc 403 (đó là những gì tôi muốn). – JMac

Các vấn đề liên quan