在Debian上配置Nginx SSL证书吊销列表(CRL)需要几个步骤。以下是一个详细的指南:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
确保你已经有一个SSL证书和私钥。如果没有,你可以使用Let’s Encrypt免费获取。
你需要创建一个CRL文件来列出被吊销的证书。你可以使用OpenSSL来生成这个文件。
首先,创建一个文本文件来存储吊销的证书序列号:
sudo nano /etc/nginx/crl.txt
在这个文件中,列出所有被吊销的证书的序列号,每行一个。例如:
01 23456789ABCDEF0123456789ABCDEF01
02 9876543210FEDCBA9876543210FEDCBA98
保存并关闭文件。
然后,使用OpenSSL生成CRL文件:
sudo openssl ca -config /etc/ssl/openssl.cnf -gencrl -out /etc/nginx/crl.pem -crldays 30
这个命令会根据/etc/ssl/openssl.cnf
配置文件生成一个有效期为30天的CRL文件。
编辑Nginx配置文件以包含CRL文件。通常,这个文件位于/etc/nginx/sites-available/default
或类似的目录中。
sudo nano /etc/nginx/sites-available/default
在server
块中添加以下行:
ssl_crl /etc/nginx/crl.pem;
完整的server
块可能看起来像这样:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
ssl_crl /etc/nginx/crl.pem;
# 其他配置...
}
保存并关闭文件。
在重启Nginx之前,检查配置文件是否有语法错误:
sudo nginx -t
如果没有错误,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以使用浏览器或命令行工具(如curl
)来验证CRL配置是否正确。例如,使用curl
:
curl --cacert /etc/nginx/crl.pem https://example.com
如果CRL配置正确,你应该会看到一个错误信息,表明证书已被吊销。
通过以上步骤,你应该能够在Debian上成功配置Nginx SSL证书吊销列表。