gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:52 25 4
gpt4 key购买 nike

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

我正在尝试将 NodeJS 应用程序部署到没有 IIS 的安全 Windows 服务器。我什至不确定这是否可能 - 关于将 Node 应用程序部署到 Windows 的支持很少,并且有什么支持说可以一起使用 IIS 和 iisnode。更复杂的是,我的公司不会向我提供服务器主 SSL 证书的 key 。

我可以访问服务器/证书存储/证书,但无法导出其 key 。只是想知道是否有办法让 server.js 仅指向证书而不是证书和 key ?

我尝试通过 https://www.npmjs.com/package/win-ca 访问证书并提取 key 但对此没有任何运气。

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

我也研究过使用 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 文件中删除了所有证书和安全相关的内容,并将网站放在负载平衡代理服务器后面。

关于node.js - 在没有 IIS 和私钥的情况下将 Nodejs 应用程序部署到 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55481562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com