我在Amazon EC2实例上有一个Nodejs应用程序,而nodejs应用程序正在侦听端口2000.
这是Nodejs片段,
var request = require('request');
request('https:[host]',{},function(err,res,body){
console.log(res,body);
})
使用http请求是可以的,但使用https只能获得'undefined'。 但是CLI`curl -k'https:[host]'适用于同一个实例。
有什么问题?感谢
这是Nginx conf
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
答案 0 :(得分:0)
您是否从源代码编译?如果在编译的./configure步骤中没有openssl libs,则node将无法连接到任何SSL端点。
有关编译节点的信息,请参阅此帖子:node js can't install right on my Ubuntu computer