繁体   English   中英

如何在nodejs中从goDaddy安装SSL证书?

[英]How to Install SSL certificate from goDaddy in nodejs?

我有从godaddy购买的证书,它需要安装在我们的nodejs服务器中。我编写了以下代码。 这工作较早,但我们最近更新了证书,并将旧证书替换为指定文件夹中的续订证书和证书私钥文件。 但是证书信息没有反映在网站上。 旧证书的失效日期是2010年6月20日。直到旧证书过期才会反映出来吗?

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 ');

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

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

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

  3. 确保您已准备好新文件并且旧进程不再运行,请启动节点进程。 你的证书应该更新:)

最后,我还建议您查看在没有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);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM