Node.js 在没有IIS和私钥的情况下将Nodejs应用部署到Windows

Node.js 在没有IIS和私钥的情况下将Nodejs应用部署到Windows,node.js,express,https,ssl-certificate,Node.js,Express,Https,Ssl Certificate,我在网上读了大量的文章,并研究了大量与以下内容相关的堆栈溢出问题,它们都提供了基本相同的解决方案,但由于公司的安全问题,我无法实现这些解决方案 我正在尝试在没有IIS的情况下将NodeJS应用部署到安全的windows服务器。我甚至不确定这是否可行——在windows上部署节点应用程序的支持非常少,而且支持的内容是同时使用IIS和iisnode。更复杂的是,我的公司不会给我服务器主SSL证书的密钥 我有权访问服务器/证书存储/证书,但无法导出其密钥。只是想知道是否有办法让server.js只指向

我在网上读了大量的文章,并研究了大量与以下内容相关的堆栈溢出问题,它们都提供了基本相同的解决方案,但由于公司的安全问题,我无法实现这些解决方案

我正在尝试在没有IIS的情况下将NodeJS应用部署到安全的windows服务器。我甚至不确定这是否可行——在windows上部署节点应用程序的支持非常少,而且支持的内容是同时使用IIS和iisnode。更复杂的是,我的公司不会给我服务器主SSL证书的密钥

我有权访问服务器/证书存储/证书,但无法导出其密钥。只是想知道是否有办法让server.js只指向证书,而不是同时指向证书和密钥

我试图通过访问证书并提取密钥,但没有任何运气

我可以使用自签名证书并使一切正常工作,但您需要在浏览器中接受自签名证书,这对于生产来说不是一个可行的解决方案

我也研究过使用nginx,让我们加密,等等,但是windows对这些的支持也不是很好

这是我的代码,但正如我所说,我需要接受不理想的自签名证书客户端:

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

const options = {  
//self-signed cert, I'd rather point this to the main cert for the server  
//but I don't have access to the key  
  key: fs.readFileSync('cert.key'),  
  cert: fs.readFileSync('cert.pem'),  
};  

// Create an HTTP service.  
http.createServer(app).listen(80);  

// Create an HTTPS service identical to the HTTP service.  
https.createServer(options, app).listen(443);  

app.get('/', function (req, res) {  
    res.send('Hello World!');  
});  

最后,我从server.js文件中删除了所有与证书和安全相关的内容,并将网站置于负载平衡代理服务器之后。

您是否愿意详细介绍您使用的代理服务器配置?很遗憾,我不能。当我说“我”时,我应该说我们的devops团队做到了这一切。我对这方面不太熟悉。很抱歉