在 Debian 上“配置 OpenSSL”通常指几种不同场景,下面我按最常见需求给你说明,你可以对照自己的情况看。
大多数 Debian 已自带 OpenSSL:
openssl version
若未安装:
sudo apt update
sudo apt install openssl -y
仅命令行工具:
openssl
开发用(编程):
sudo apt install libssl-dev
openssl req -x509 -newkey rsa:2048 \
-keyout key.pem -out cert.pem \
-days 365 -nodes
按提示输入:
生成:
key.pem(私钥)cert.pem(证书)openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -in csr.pem -signkey key.pem -out cert.pem -days 365
配置文件位置:
/etc/ssl/openssl.cnf
常见修改内容:
[ req ]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
[ v3_ca ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
IP.1 = 192.168.1.10
修改后测试:
openssl req -new -x509 -key key.pem -out cert.pem -config /etc/ssl/openssl.cnf
⚠️ 不建议直接改系统文件,可复制后指定:
openssl ... -config my.cnf
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
sudo nginx -t
sudo systemctl reload nginx
openssl dhparam -out dhparam.pem 2048
Nginx 中使用:
ssl_dhparam /etc/ssl/certs/dhparam.pem;
openssl x509 -in cert.pem -text -noout
sudo apt install certbot
我可以给你精确到配置的示例。