2014-06-11 6 views
6

Ich habe CORS funktioniert gut mit Nginx. Die APIs sind entworfen, um nicht 200 Statuscode - Beispiel 401, 404 usw. - für schlechte Eingabe zu senden. Das Problem besteht darin, dass Chrome die Anfrage abbricht/abbricht, wenn sie einen Statuscode ohne 200 erhält. Aus diesem Grund kann ich den genauen Fehler auf dem Webclient nicht anzeigen.CORS und nicht 200 statusCode

Wie sieht es bei CORS nicht 200 Statuscode Fehlern aus?

Antwort

0

Sie müssen das Modul more_set_headers verwenden.

mit -s Sie mehr Statuscode

more_set_headers -s '404,400,403' 'Access-Control-Allow-Origin: http://domain.com';

jedoch scpecify können, wenn Sie dieses Modul nicht in installiert haben nginx Sie es neu kompilieren müssen. es zu kompilieren:

wget http://nginx.org/download/nginx-1.7.8.tar.gz 
git clone https://github.com/openresty/headers-more-nginx-module.git 
tar -xzvf nginx-1.7.8.tar.gz 
cd nginx-1.7.8 
./configure --prefix=/opt/nginx --add-module=/path/to/headers-more-nginx-module 
make 
make install 
7

standardmäßig Nginx fügt nur Header für Anforderungen sie erfolgreich hält. Sie können den Header ohne Berücksichtigung des Antwortcodes hinzufügen, indem Sie der Anweisung add_header den Parameter hinzufügen, z.

add_header 'Access-Control-Allow-Origin' '*' always; 
Verwandte Themen