0

我在 Amazon EC2 实例上有一个 Nodejs 应用程序,并且该 nodejs 应用程序正在侦听端口 2000。

这是 Nodejs 片段,

var request = require('request');
request('https:[host]',{},function(err,res,body){
    console.log(res,body);
})

使用 http 请求是可以的,但使用 https 它只会得到“未定义”。但是 CLI `curl -k ' https:[host] ' 在同一个实例上工作。

问题是什么?谢谢

这是 Nginx 配置文件

upstream nodeserver {
    server 127.0.0.1:2000;
}

server {

    listen 80 default_server;
    server_name _;
    access_log /var/log/nginx/nodeserver.log;

    location / {

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://nodeserver;
        proxy_redirect off;
    }
}

这是安全组:

Port (Service)  Source  
22 (SSH)    0.0.0.0/0   
80 (HTTP)   0.0.0.0/0   
443 (HTTPS) 0.0.0.0/0       
2000    127.0.0.1/32    
4

1 回答 1

0

你是从源码编译的吗?如果在编译的 ./configure 步骤中没有可用的 openssl 库,节点将无法连接到任何 SSL 端点。

有关编译节点的信息,请参阅此帖子:node js can't install right on my Ubuntu computer

于 2013-08-09T22:23:58.733 回答