2024 nginx已知 sztu.edu.cn.key和sztu.edu.cn.pem配置ssl
以下是针对 sztu.edu.cn
域名的 SSL 证书配置指南:
一、证书文件准备
假设你已有以下文件:
- 私钥文件:
sztu.edu.cn.key
- 证书文件:
sztu.edu.cn.pem
(需确认是否包含完整证书链)
1. 验证证书完整性
# 查看证书内容
openssl x509 -in sztu.edu.cn.pem -text -noout
# 验证私钥与证书是否匹配
openssl rsa -noout -modulus -in sztu.edu.cn.key | openssl md5
openssl x509 -noout -modulus -in sztu.edu.cn.pem | openssl md5
- 输出结果必须一致,否则证书和私钥不匹配
二、Nginx 配置模板
server {
listen 443 ssl http2;
server_name sztu.edu.cn www.sztu.edu.cn;
# 证书路径配置(根据实际路径修改)
ssl_certificate /etc/ssl/certs/sztu.edu.cn.pem; # 证书文件路径
ssl_certificate_key /etc/ssl/private/sztu.edu.cn.key; # 私钥文件路径
# SSL 安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 网站根目录
root /var/www/sztu.edu.cn;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# 强制HTTPS(可选,需配置80端口)
error_page 497 https://$host$request_uri;
}
三、关键操作步骤
1. 创建证书存储目录
sudo mkdir -p /etc/ssl/{certs,private}
sudo chmod 700 /etc/ssl/private # 保护私钥权限
2. 上传证书文件
# 上传证书文件
sudo cp sztu.edu.cn.pem /etc/ssl/certs/
sudo cp sztu.edu.cn.key /etc/ssl/private/
# 设置权限(关键!)
sudo chmod 644 /etc/ssl/certs/sztu.edu.cn.pem
sudo chmod 600 /etc/ssl/private/sztu.edu.cn.key
3. 配置 HTTP 强制跳转(80端口)
server {
listen 80;
server_name sztu.edu.cn www.sztu.edu.cn;
return 301 https://$server_name$request_uri;
}
四、验证配置
1. 测试 Nginx 配置
sudo nginx -t # 必须返回 "syntax is ok"
2. 重启 Nginx
sudo systemctl restart nginx
3. 在线检测工具
- SSL Labs 测试:检查证书链和安全性评级
- Why No Padlock?:检测混合内容问题
五、常见问题处理
1. 浏览器提示 “证书链不完整”
- 原因:
.pem
文件未包含中间证书 - 修复:将中间证书追加到
.pem
文件末尾:cat intermediate.crt >> sztu.edu.cn.pem
2. 私钥权限问题
# 检查日志
sudo tail -f /var/log/nginx/error.log
# 典型错误:
# SSL_CTX_use_PrivateKey_file("/etc/ssl/private/sztu.edu.cn.key") failed (SSL: error:0B080074...)
sudo chmod 600 /etc/ssl/private/sztu.edu.cn.key
3. 证书过期更新
- 如果是自签名证书,需重新生成
- 如果是 CA 签发证书,续期后替换文件并重启 Nginx
六、高级安全配置(可选)
# 在 http 块中添加
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
通过以上配置,你的 sztu.edu.cn
域名将实现安全的 HTTPS 访问。如果证书由权威 CA 签发(如 Let’s Encrypt),用户浏览器将显示绿色锁标志。