我在 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