117.info
人生若只如初见

如何在 CentOS 上为 Node.js 应用添加 SSL 证书

在 CentOS 上为 Node.js 应用添加 SSL 证书,可以按照以下步骤进行操作:

1. 获取 SSL 证书

首先,你需要获取一个 SSL 证书。你可以从 Let’s Encrypt 免费获取证书,或者购买一个商业证书。

使用 Let’s Encrypt 获取证书

  1. 安装 Certbot:

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-nginx
    
  2. 运行 Certbot 获取证书:

    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

    按照提示完成证书的获取和配置。

2. 配置 Nginx 反向代理

如果你使用 Nginx 作为反向代理服务器,可以在 Nginx 配置文件中设置 SSL。

  1. 编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf):

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        location /.well-known/acme-challenge/ {
            root /var/www/certbot;
        }
    
        location / {
            proxy_pass http://localhost:3000; # 你的 Node.js 应用监听的端口
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  2. 重新加载 Nginx 配置:

    sudo systemctl reload nginx
    

3. 配置 Node.js 应用

确保你的 Node.js 应用监听在正确的端口上(例如 3000),并且能够处理 HTTPS 请求。

const express = require('express');
const https = require('https');
const fs = require('fs');

const app = express();

app.get('/', (req, res) => {
    res.send('Hello, World!');
});

const options = {
    key: fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/fullchain.pem')
};

https.createServer(options, app).listen(3000, () => {
    console.log('Server is running on https://yourdomain.com:3000');
});

4. 测试 SSL 配置

打开浏览器,访问 https://yourdomain.com,你应该能够看到你的 Node.js 应用,并且浏览器地址栏会显示安全锁图标,表示 SSL 配置成功。

5. 自动续期证书

Let’s Encrypt 的证书有效期为 90 天,因此需要设置自动续期。

  1. 编辑 Certbot 的续期脚本:

    sudo crontab -e
    
  2. 添加以下行以每天检查并续期证书:

    0 0 * * * certbot renew --post-hook "systemctl reload nginx"
    

通过以上步骤,你就可以在 CentOS 上为 Node.js 应用成功添加 SSL 证书了。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe79aAzsKAA5VAVM.html

推荐文章

  • JSP 在 CentOS 上运行环境如何配置

    在CentOS上配置JSP运行环境通常涉及以下几个步骤:
    1. 安装Java环境
    首先,需要安装Java运行环境(JRE)或Java开发工具包(JDK)。可以通过以下命令安...

  • CentOS 系统下 JSP 应用如何部署

    在CentOS系统下部署JSP应用通常涉及以下几个步骤:
    1. 安装Java环境
    首先,需要在CentOS系统上安装Java Development Kit (JDK)。可以使用以下命令安装...

  • CentOS与Swagger的故事:从入门到精通只需三步

    CentOS与Swagger的故事:从入门到精通只需三步 引言
    在软件开发的世界中,API文档的重要性不言而喻。它不仅是前后端开发的桥梁,更是确保系统稳定性和可维护...

  • 使用CentOS作为服务器,如何确保Swagger的高可用性

    确保Swagger在CentOS服务器上的高可用性可以通过多种方法实现,以下是一些常见的解决方案:
    1. 负载均衡
    使用负载均衡器(如Nginx或HAProxy)来分发流...

  • Node.js 在 CentOS 上的资源占用情况如何

    Node.js 在 CentOS 上的资源占用情况可以通过多种方法进行监控和优化。以下是一些常见的方法和策略: 使用监控工具:可以使用 CentOS 的监控工具如 top, htop, v...

  • 在 CentOS 上如何调试 Node.js 代码

    在 CentOS 上调试 Node.js 代码,您可以使用以下方法: 安装 Node.js 和 npm(Node.js 包管理器): sudo yum install -y nodejs npm 使用 Visual Studio Code 进...

  • CentOS 与 Node.js 的集成方式有哪些

    CentOS与Node.js的集成方式主要包括以下几种: 使用NodeSource仓库安装Node.js: 通过NodeSource提供的二进制分发库安装特定版本的Node.js。例如,安装Node.js 1...

  • Node.js 在 CentOS 上的安全性如何保障

    在CentOS上保障Node.js的安全性可以通过以下几种方法: 更新系统和Node.js: 确保系统和Node.js都是最新版本,以修补已知的安全漏洞。可以使用Node Version Mana...