gpt4 book ai didi

node.js - 如何在 nodejs 中从 goDaddy 安装 SSL 证书?

转载 作者:搜寻专家 更新时间:2023-10-31 23:44:47 25 4
gpt4 key购买 nike

我有一个从 godaddy 购买的证书,它需要安装在我们的 nodejs 服务器中。我编写了以下代码。这在早些时候有效,但我们最近更新了证书,并用指定文件夹中更新的证书和证书私钥文件替换了旧证书。但是证书信息没有在网站上反射(reflect)出来。旧证书的有效期是2018年6月20日,会不会等到旧证书过期了才反射(reflect)?

var options = {
key: fs.readFileSync('certificate/mssp.tcs.com.key'),
cert: fs.readFileSync('certificate/mssp.tcs.com.crt'),
ca: [fs.readFileSync('certificate/mssp.tcs.comi.crt')]

};

var server = app.listen(8001, function () {
console.log('%s listening at %s', server.name, server.url);
console.log("server Started");
});

https.createServer(options,app).listen('443 ');

最佳答案

您导入证书和 key 的方式是正确的。所以我认为您的问题可能是由于指向旧文件或使用旧证书的现有进程引起的。在这种情况下我建议:

  1. 仔细检查 certificate/mssp.tcs.com.* 文件以确保所有文件确实指向更新的文件。有时我们有指向受限文件夹的符号链接(symbolic link),如果没有正确的权限,简单的复制可能会失败。

  2. 一旦您确保新文件就位。确保您 kill 可能正在运行的旧进程。您可以通过 ps -ef | 来实现。 grep node 在 linux 服务器上,然后通过 PID kill 它。请小心停止正确的应用程序。停止旧进程后,如果您通过浏览器访问 Web 应用程序,应该会收到“未找到”消息。

  3. 确保您有新文件并且旧进程不再运行,启动您的 Node 进程。您的证书应该更新:)

最后,我还建议您查看在没有 https 的 8001 端口上运行的 server。只需确保您需要它或将其删除即可。运行 HTTPS 的简单代码可以是这样的:

'use strict';

var express = require('express'),
fs = require('fs'),
https = require('https');

var httpPort = 443;
var app = express();
var options = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('cert.pem')
};

app.set('port', httpPort);

app.use(express.static(path.join(__dirname, '/public')));

https.createServer(options, app).listen(httpPort, function(){
console.log('Listening at ' + httpPort);
});

关于node.js - 如何在 nodejs 中从 goDaddy 安装 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50856629/

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