2017-04-19 82 views
1

我尝试将我的节点服务器配置为SSL,我的节点服务器和php都在同一个实例上工作。节点启动时没有错误,但当我通过套接字或网址发送请求时,它会崩溃。只显示 分割故障Https服务器上的节点js分段错误

我的节点版本是6.9.4

这里我节点js脚本

var https = require('https'); 
var http = require('http'); 
var fs = require('fs'); 
var app = require('express')(); 


var f_root = 'path_to_ssl'; 
var options = { 
    key: fs.readFileSync(f_root+'ssl.myserver.key'), 
    cert: fs.readFileSync(f_root+'ssl.myserver.pem') 
}; 

app.get("/", function(request, response){ 
    console.log(" Hello World"); 

}); 

var httpsserver = https.createServer(options, app); 


httpsserver.listen(3001); 
+0

能否请您粘贴正是因为它显示错误? – sadmicrowave

+0

也是,你调用'https.createServer'两次,但将它分配给两个不同的变量。你的'httpserver'变量应该有'http.createServer'分配 – sadmicrowave

+0

“分段错误”,你所有的 –

回答

1

终于找到了问题

问题是.pem文件。我用的是.CRT,而不是.PEM文件

这里的更新

var https = require('https'); 
var http = require('http'); 
var fs = require('fs'); 
var app = require('express')(); 


var f_root = 'path_to_ssl'; 
var options = { 
    key: fs.readFileSync(f_root+'ssl.myserver.key'), 
    // this is the issue 
    cert: fs.readFileSync(f_root+'ssl.myserver.crt') 
}; 

app.get("/", function(request, response){ 
    console.log(" Hello World"); 

}); 

var httpsserver = https.createServer(options, app); 


httpsserver.listen(3001);