在 Linux 上使用 OpenSSL 配置 SSL(通常指 TLS) 一般包含以下几个步骤:生成私钥、生成证书签名请求(CSR)、自签或申请 CA 签发证书,然后在服务端(如 Nginx / Apache)中配置使用。
下面以 Nginx + 自签名证书 为例,完整说明流程。
大多数 Linux 已自带:
openssl version
如未安装:
# CentOS / RHEL
yum install openssl -y
# Ubuntu / Debian
apt install openssl -y
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
按提示填写:
openssl x509 -req -days 365 -in server.csr \
-signkey server.key -out server.crt
✅ 生成文件:
server.key(私钥)server.crt(证书)mkdir -p /etc/nginx/ssl
mv server.key server.crt /etc/nginx/ssl/
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
nginx -t
systemctl reload nginx
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key
</VirtualHost>
生产环境不建议自签名,可使用:
certbot --nginx
因为是自签名证书,需手动信任。
chmod 600 server.key
如果你告诉我:
我可以给你更精确的配置示例。