nodejs配置https的过程记录

本文详细介绍了如何为个人项目部署HTTPS,包括阿里云免费SSL证书的申请、配置及服务器上的证书安装过程。同时,深入讲解了使用PM2进行Node.js应用的持久化服务管理,涵盖安装、启动、监控及日志查看等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要准备的东西

  • 线上服务器
  • 域名
  • ssl证书

申请ssl证书

因为是个人项目所以我使用的是阿里云提供的免费ssl证书,如果是企业项目,还是应该购买付费版本的证书。
在这里插入图片描述
在购买成功之后可以前往控制台进行证书的签发申请,需要填写联系方式和详细域名的因为购买的只支持单个域名,所以不能使用通配符。
在申请提交后没有什么问题的话一般十分钟左右就可以完成签发。

配置证书

将签发的证书下载到服务器(可以先下载到本地解压后再上传至服务器)。
在这里插入图片描述
我个人习惯将证书放到了项目bin目录下,一共是两个文件(.key.pem)。
接下来修改后端www文件代码(位于项目/bin文件夹下)。

需要添加的代码如下:

var fs = require('fs'); // 文件系统模块
let https = require("https"); // https模块

const httpsOption = {
    key : fs.readFileSync(__dirname + "/51wdy.key"),  // 后面的半段改为自己的证书位置
    cert: fs.readFileSync(__dirname + "/51wdy.pem")
}

接下来有两种情况:一种是http和https都要使用,还有一种是只要使用https的情况。

第一种

还是/bin/www文件,添加如下代码:

var httpsServer = https.createServer(httpsOption, app) // 创建https服务
httpsServer.listen(443); // 这里的443是默认的https端口,也可以改成自己想要的,但注意不要和http端口共用

第二种

需要先注释掉原先的

var server = http.createServer(app);

然后添加

var server = https.createServer(httpsOption, app);

到现在https的配置就完成了,可以使用运行测试一下,应该是没有什么问题的,有个坑就是文件名为xx.xx.xx.key的时候好像会报错,改了好几次引入方式之后还是成功解决了。

使用pm2持久化服务

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

npm install pm2 -g
# 安装完成后可以通过 pm2 -v查看是否安装成功

然后到项目根目录运行pm2 start ./bin/www --watch --name <appName>

pm2 基本操作命令

pm2 list:可以查看当前所有项目的运行状态。
pm2 start:运行一个node程序,--watch监听项目文件变化,自动重启,--name给项目具体的名字。
pm2 stop:停止一个项目的运行。
pm2 logs:查看项目运行日志。
pm2 delete:从列表中移除项目。
pm2 show <id|name>:查看一个项目的详细情况。

### 配置 npm 的最佳实践 在 Node.js 环境下正确配置 npm 是开发过程中非常重要的一步。以下是关于设置代理、镜像源以及全局参数的具体方法。 #### 设置 npm 的镜像源 为了提高下载速度并减少网络延迟,可以将 npm 的默认注册表更改为国内的淘宝镜像。通过以下命令实现: ```bash npm config set registry https://registry.npmmirror.com ``` 此操作会更改 npm 的全局配置文件中的 `registry` 字段[^2]。如果需要验证当前使用的镜像源,可运行以下命令: ```bash npm get registry ``` #### 配置 HTTP/HTTPS 代理 在网络受限的情况下(例如公司内部网),可能需要配置 HTTP 或 HTTPS 代理来访问外部资源。可以通过如下命令完成代理设置: ```bash npm config set proxy http://proxy.company.com:8080 npm config set https-proxy http://proxy.company.com:8080 ``` 上述命令分别设置了 HTTP 和 HTTPS 协议下的代理地址。如果不需要代理或者想取消已有的代理设置,则执行以下命令即可清除代理配置: ```bash npm config delete proxy npm config delete https-proxy ``` #### 全局参数配置 某些情况下,开发者希望调整 npm 的行为以适应特定需求。常见的全局参数包括缓存目录位置和日志级别等。例如,修改缓存路径到自定义目录: ```bash npm config set cache "/path/to/custom/cache" ``` 此外,还可以降低或提升日志记录的详细程度以便于调试问题: ```bash npm config set loglevel warn ``` 以上命令将日志等级设为警告模式,仅显示错误和警告信息[^1]。 #### 总结 合理地配置 npm 不仅能优化依赖包管理效率,还能解决因地域差异带来的网络瓶颈等问题。按照上述指南进行相应设置后,能够显著改善基于 Node.js 开发项目的体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值