Erro de segurança usando CORS no IE10 com Node e Express

Estou construindo uma aplicação Backbone hospedada emhttp://example.com que utiliza uma API hospedada emhttps://api.example.com. Para a API, estou usando o Node.js com o framework Express.js. Minha solução CORS parece funcionar em todos os principais navegadores, exceto no IE (ela até falha no IE10).

Quando uma solicitação é iniciada a partir do IE10, a solicitação nunca atinge o servidor da API. Tanto quanto eu posso dizer, o pedido não está sendo enviado. Quando inspeciono a solicitação usando as ferramentas de desenvolvedor do IE10, os cabeçalhos de solicitação e de resposta estão em branco. Quando uma solicitação é enviada dequalquer outro navegador, a solicitação é recebida e uma resposta é gerada corretamente.

Este é o erro que vejo no console:

SCRIPT 7002: XMLHttpRequest: Network Error 0x4c7, The operation was canceled by the user.

A solicitação usa o jQuery:

$.ajax({
  url: apiRoot + "/endpoint",
  success: function(response) {
    // Omitted irrelevant code
  }
});

De acordo comisto artigo, o CORS está desativado no IE por padrão e deve ser ativado:

O Internet Explorer ignora os cabeçalhos Access-Control-Allow e, por padrão, proíbe o acesso de origem cruzada para a Internet Zone. Para ativar o CORS, vá para Ferramentas-> Opções da Internet-> guia Segurança, clique no botão “Nível Personalizado”. Encontre a configuração Diversos -> Acessar fontes de dados entre domínios e selecione a opção "Ativar".

Com certeza, quando eu habilito essa configuração, a solicitação passa e tudo funciona como deveria. No entanto, eu li que essa configuração não está realmente relacionada ao CORS enão deveria afetá-lo. Ao usaresta ferramenta para testar a compatibilidade do CORS, o IE10 passa independentemente de essa configuração estar ativada ou desativada, o que me leva a acreditar no CORSé ativado e estou apenas fazendo algo errado.

Além disso, tudo parece funcionar como deveria quando eu corroViolinista, já que o Fiddler está atuando como proxy.

Para referência, aqui está o código relacionado ao CORS no lado do servidor:

res.header("Access-Control-Allow-Origin", "example.com");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-File-Name, X-File-Size, X-File-Type");
res.header("Access-Control-Allow-Credentials", true);
if (req.method == "OPTIONS") {
 res.send(200);
}

questionAnswers(3)

yourAnswerToTheQuestion