在Node / Angular / Express App中使用nginx作为反向代理的OPTIONS标头拒绝连接

时间:2015-03-04 22:55:35

标签: node.js express nginx proxy ubuntu-12.04

我试图在数字海洋Ubuntu 12.04 Droplet上运行快速应用程序,并使用nginx作为反向代理,但我总是得到 OPTIONS net :: ERR_CONNECTION_REFUSED 我尝试POST表单时出错。我尝试过一系列不同的nginx配置和cors设置,但它仍然会发生。

使用Node v0.12,Express v4和最新的nginx。

server {
    listen 80;
    server_name thepalette.tk;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:3000;
        proxy_redirect off;
     }
}

编辑:

我找到了nginx错误日志,并说明了以下内容:

2015/03/05 05:45:15 [error] 6079#0: *1 connect() failed (111: Connection refused)
while connecting to upstream, 
client: x.x.x.x, 
server: thepalette.tk, 
request: "GET /register HTTP/1.1", 
upstream: "http://x.x.x.x:3000/register", 
host: "thepalette.tk"

1 个答案:

答案 0 :(得分:0)

在你的app.js中使用cors中间件进行表达。 例如:

var cors = require("cors");
app.use(cors({
    origin: true,
    credentials: true
}));