Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS SSL从何处获取.key文件_Node.js_Windows_Ssl_Https_Server - Fatal编程技术网

Node.js NodeJS SSL从何处获取.key文件

Node.js NodeJS SSL从何处获取.key文件,node.js,windows,ssl,https,server,Node.js,Windows,Ssl,Https,Server,我从GlobalSign购买了一个SSL证书,我收到了2.crt文件,其中一个是gs_intermediate_ca.crt(intermediate)和domain_name.crt(将域名替换为我自己的域名) 我想在Windows Server 2010中使用PM2在Nodejs中部署我的web API。一些web应用程序将调用此API来检索QR码等数据 但是,我没有找到使用HTTPS启动服务器的方法,并且我没有私钥(.key)文件。我怎么知道?我哪里不见了,我读了很多文档,但还是没有得到

我从GlobalSign购买了一个SSL证书,我收到了2.crt文件,其中一个是gs_intermediate_ca.crt(intermediate)和domain_name.crt(将域名替换为我自己的域名)

我想在Windows Server 2010中使用PM2在Nodejs中部署我的web API。一些web应用程序将调用此API来检索QR码等数据

但是,我没有找到使用HTTPS启动服务器的方法,并且我没有私钥(.key)文件。我怎么知道?我哪里不见了,我读了很多文档,但还是没有得到

如果我在服务器上使用openssl生成ssl,这是没有问题的。但当我为我的公共网站购买时,我只收到了这两个文件。我需要你的帮助

consthttp=require('http'))
常量https=require('https')
常量fs=require('fs')
const express=require('express')
const bodyParser=require('body-parser')
常量粉笔=需要(“粉笔”)
const app=express()
const cors=require('cors')
//https加载密钥
变量选项={
key:fs.readFileSync('./server/ssl/cert.key','utf8'),
证书:fs.readFileSync('./server/ssl/cert.crt','utf8')
};
//结束https加载密钥
应用程序使用(express.static('public'))
app.use(bodyParser.json())
app.use(cors())
app.use(bodyParser.urlencoded({
扩展:正确
}))
app.set(“mobile_url”,“#”);
要求('./main.js')(应用程序);
app.listen(7555,()=>{
console.log(chalk.white.bgfreen.bold('[HTTP服务器]在上运行http://localhost:7555'));
});
https.createServer(选项,应用程序).listen(7556,()=>{
console.log(chalk.white.bgfreen.bold('[HTTPS服务器]在上运行https://localhost:7556'));
});
app.get('/',函数(req,res){
res.end(“开始”);

});从来没有,我已经解决了这个问题,我下载了DigiCert,并将.crt文件加载到应用程序中,然后它生成私钥。因此,问题得到了解决。

在我工作的公司,应用程序开发人员负责使用我们专有的安全工具包生成私钥。CA(在您的案例中是GlobalSign)应该只接收一个证书签名请求,然后提供将用于签名私钥的“证书签名响应”

从另一家公司接收私钥是没有意义的,因为它自己的名字表明,它必须是私钥。通信双方之间仅交换公钥

NodeJS文档包含以下信息:


“私钥可以以多种方式生成。”——

谢谢!我终于在服务器上使用DigiCert应用程序生成了私钥。这是我第一次在没有任何人指导的情况下使用nodejs在生产服务器上部署。现在我了解了SSL如何在公共和内部环境中工作。