SSL中的节点使用GoDaddy证书使用.key和.crt文件

我一直在寻找在我的节点服务器中使用SSL证书的解决scheme。 有不同的实现可用,但不能看到具有.key文件和.crt文件的godaddy证书的具体示例。 任何帮助?

你需要遵循几个步骤

1-生成csr文件。 使用以下命令

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr 
  1. 密钥用作ssl安全证书密钥。 你不需要与任何人分享这个文件。
  2. csr用于从godaddy生成证书

2-logingGoDaddy帐户。

3-在文本编辑器中打开CSR(使用openssl命令生成的.csr文件)并复制所有文本。 将完整的CSR粘贴到您帐户的SSLregistry单中。

4-将需要一天的时间来validation你的域名。 如果您使用第三方域名服务,GoDaddy会这样做。

5-现在,如果你已经从不同的服务提供商那里买了域名 打开域服务器仪表板并更新DNSlogging以将其指向您的服务器。 (如果你已经做了这个跳过这一步)

6-访问https://certs.godaddy.com/cert并下载您的证书。 zip文件将包含2个文件。 1与随机数.crt和其他与名称cert_ * .crt。

7-打开cert _ * .crt文件就会有多个证书在里面。 现在您需要将这些证书分成不同的文件,如cert_1.crt cert_2.crt等

现在在节点中使用下面的代码

 var secureApp = require('../app'), fs = require('fs'), privateKey = fs.readFileSync('domain.com.key').toString(), certificate = fs.readFileSync('domain.com.crt').toString(), cert_g = fs.readFileSync('cert_g.crt').toString(), cert_g1 = fs.readFileSync('cert_g1.crt').toString(), cert_g2 = fs.readFileSync('cert_g2.crt').toString(), https = require('https'), http = require('http'); /** * Get port from environment and store in Express. */ var securePort = normalizePort(process.env.PORT || '443'); secureApp.set('port', securePort); /** * Create HTTPS secure server. */ // secure impl var options = {key: privateKey, cert: certificate,ca: [cert_g, cert_g1, cert_g2]}; var secureServer = https.createServer(options, secureApp); /** * Listen on provided port, on all network interfaces. */ secureServer.listen(securePort); secureServer.on('error', onError); secureSrver.on('listening', onListening); /** * Normalize a port into a number, string, or false. */ function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port)) { // named pipe return val; } if (port >= 0) { // port number return port; } return false; } /** * Event listener for HTTP server "error" event. */ function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } } /** * Event listener for HTTP server "listening" event. */ function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); } 

请享用