CORS: No se puede usar el comodín en Access-Control-Allow-Origin cuando el indicador de credenciales es verdadero

Tengo una configuración que involucra

Servidor frontend (Node.js, dominio: localhost: 3000) <---> Backend (Django, Ajax, dominio: localhost: 8000)

Navegador <- webapp <- Node.js (Servir la aplicación)

Navegador (aplicación web) -> Ajax -> Django (Servir solicitudes POST ajax)

Ahora, mi problema aquí es con la configuración de CORS que usa la aplicación web para hacer llamadas Ajax al servidor backend. En cromo, sigo recibiendo

No se puede usar el comodín en Access-Control-Allow-Origin cuando el indicador de credenciales es verdadero.

Tampoco funciona en Firefox.

La configuración de mi Node.js es:

var allowCrossDomain = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', 'http://localhost:8000/');
    res.header('Access-Control-Allow-Credentials', true);
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
};

Y en Django estoy usandoeste middleware Junto con esto

La aplicación web hace peticiones como tales:

$.ajax({
    type: "POST",
    url: 'http://localhost:8000/blah',
    data: {},
    xhrFields: {
        withCredentials: true
    },
    crossDomain: true,
    dataType: 'json',
    success: successHandler
});

Entonces, los encabezados de solicitud que envía la aplicación web se parecen a:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept"
Access-Control-Allow-Methods: 'GET,PUT,POST,DELETE'
Content-Type: application/json 
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: csrftoken=***; sessionid="***"

Y aquí está el encabezado de respuesta:

Access-Control-Allow-Headers: Content-Type,*
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Content-Type: application/json

¿A dónde me voy mal?

Edición 1: he estado usandochrome --disable-web-security, pero ahora quiero que las cosas realmente funcionen.

Edición 2: Respuesta:

Entonces, la solución para mídjango-cors-headers config:

CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
    'http://localhost:3000' # Here was the problem indeed and it has to be http://localhost:3000, not http://localhost:3000/
)

Respuestas a la pregunta(5)

Su respuesta a la pregunta