Node.js环境安装SSL证书
一、生成证书请求
*密钥文件不区分操作系统平台,推荐使用CIM网页工具。
*访问CIM:
运行CIM,点击工具箱,点击CSR生成,然后填写证书注册信息,点击生成,然后下拉至底部,点击保存CSR和私钥。请确保您填写的信息真实性和准确性,否则会导致证书申请失败。
以下是示例信息:
*使用CIM工具创建csr文件之后,将生成的server.csr文件发送给天威诚信,等待证书的签发。请同时备份server.key文件并稍后上传到服务器上进行配置。
*在您收到证书签发邮件之前,请不要删除压缩包中的server.key文件,以避免私钥丢失而导致证书无法安装。
注:如SSL证书已签发,不需要再次生成CSR,开始安装证书即可。
将证书签发邮件中的包含服务器证书代码的文本复制出来(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中。
为保障服务器证书在客户端的兼容性,服务器证书需要安装中级CA证书。
在服务器证书代码文本结尾,回车换行不留空行,粘贴证书签发邮件中的 “以下是您的CA证书” 部分里的所有内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”),每串证书代码之间均需要使用回车换行不留空行,修改文件扩展名,保存包含证书代码的文本文件为server.pem文件。
配置SSL证书
使用WinSCP、Xshell等工具上传.key证书文件和.pem证书私钥文件到轻量应用服务器的指定目录,例如:/home。
1. 远程连接轻量应用服务器。具体操作,请参见远程连接Linux服务器。
执行以下命令,新建https_server_test.js项目文件。
cd /home
sudo touch https_server_test.js
2. 执行以下命令,修改https_server_test.js文件。
vim https_server_test.js
3. 按i键进入编辑模式,并将以下内容添加至https_server_test.js文件中。内容如下所示:
// 启动https服务需要https包// 读取文件需要fs包const https = require('https');const fs = require('fs');
// 将两个证书文件读取放到options对象中// 使用readFileSync()方法,顺序地执行读文件和启动服务操作const options = {
key: fs.readFileSync('/home/cert-file-name.key'),
cert: fs.readFileSync('/home/cert-file-name.pem')
};
// 创建服务器,启动服务器,设置监听端口号
https.createServer(options, (req, res) => {
res.end('hello world\n');
}).listen(443);
4. 说明如下:/home/cert-file-name.key:需替换为实际上传私钥文件的绝对路径。
/home/cert-file-name.pem:您需要输入实际上传SSL证书文件的绝对路径。
重要
证书文件的路径需要配置正确,否则证书配置失败,无法使用HTTPS访问。添加完成后,按Esc键退出编辑模式,并输入:wq后按Enter键,保存并退出文件。
执行以下命令,使SSL证书生效。
sudo node https_server_test.js
使用浏览器访问https://轻量应用服务器对应的域名。
如果浏览器地址栏中出现小锁标志,表示证书已经安装成功。