debian

如何在Debian上配置Nginx SSL证书撤销列表

小樊
64
2025-05-26 22:22:57
栏目: 云计算

在Debian上配置Nginx SSL证书撤销列表(CRL)涉及几个步骤。以下是一个详细的指南:

1. 生成私钥和证书

首先,你需要为你的域名生成一个私钥和自签名证书。如果你还没有这样做,可以使用以下命令:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

按照提示输入相关信息。

2. 创建CRL文件

接下来,创建一个CRL文件并添加已撤销的证书序列号。你可以使用以下命令:

sudo touch /etc/ssl/crl/nginx-crl.pem
sudo openssl ca -config /etc/ssl/openssl.cnf -extensions v3_crl -days 30 -notext -md sha256 -in /etc/ssl/certs/nginx-selfsigned.crt -out /etc/ssl/crl/nginx-crl.pem

3. 更新Nginx配置

编辑Nginx配置文件以启用CRL检查。假设你的Nginx配置文件位于 /etc/nginx/sites-available/default,你可以添加以下内容:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    ssl_crl /etc/ssl/crl/nginx-crl.pem;

    ssl_trusted_certificate /etc/ssl/certs/nginx-selfsigned.crt;

    # 其他配置...
}

4. 重新加载Nginx

保存并关闭配置文件后,重新加载Nginx以应用更改:

sudo systemctl reload nginx

5. 验证CRL配置

你可以使用以下命令验证CRL是否正确配置:

openssl crl -in /etc/ssl/crl/nginx-crl.pem -text -noout

这将显示CRL文件的详细信息,包括已撤销的证书序列号。

6. 自动更新CRL

为了确保证书撤销列表始终是最新的,你可以设置一个cron作业来定期更新CRL。编辑crontab文件:

sudo crontab -e

添加以下行以每天更新一次CRL:

0 0 * * * /usr/sbin/openssl ca -config /etc/ssl/openssl.cnf -extensions v3_crl -days 30 -notext -md sha256 -in /etc/ssl/certs/nginx-selfsigned.crt -out /etc/ssl/crl/nginx-crl.pem

保存并关闭文件。

通过以上步骤,你就可以在Debian上成功配置Nginx SSL证书撤销列表。

0
看了该问题的人还看了