Javascript Express将在本地主机上正确设置CORS,但不会在live server上设置

Javascript Express将在本地主机上正确设置CORS,但不会在live server上设置,javascript,node.js,express,cors,Javascript,Node.js,Express,Cors,我已经尝试了两种方法,它们都可以在我的本地主机上使用(标题是存在的并且是正确的),但不能在live server上使用,live server是由amazon托管的,它是由apache反向代理后面的bitnami NodeJS映像构建的 我尝试过的配置: 1) 为每个必要的路由手动设置响应头(因此此代码位于路由文件中): 2) 使用来自NPM的中间件(此代码在app.js中): 因此,使用这两种技术,对localhost:3000的请求将产生预期的头(Access-allow-control-o

我已经尝试了两种方法,它们都可以在我的本地主机上使用(标题是存在的并且是正确的),但不能在live server上使用,live server是由amazon托管的,它是由apache反向代理后面的bitnami NodeJS映像构建的

我尝试过的配置:

1) 为每个必要的路由手动设置响应头(因此此代码位于路由文件中):

2) 使用来自NPM的中间件(此代码在app.js中):

因此,使用这两种技术,对localhost:3000的请求将产生预期的头(Access-allow-control-origin:*)。但是,当我将代码推送到我的实时服务器时,这些头不会出现在响应中


有什么想法吗?

我已经用cors模块解决了这个问题

var cors = require('cors');
app.use(cors()); // add this line at appropriate place in your code 

然后添加app.options('*',cors())在server.js/app.js文件中定义或包含所有路由之前

这听起来像是apache反向代理没有从上游服务器转发所有头的问题,而不是节点问题。@furydevoid,谢谢提示!真不敢相信我竟然没有想到!我转到我的服务器并指定了正确的端口来绕过反向代理和presto:头就在那里。谢谢
//Includes/Requirements
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongodb = require('mongodb');
var monk = require('monk');
var cors = require('cors');
var db = monk('localhost:27017/app');

...

app.use(cors());
var cors = require('cors');
app.use(cors()); // add this line at appropriate place in your code