在Nginx或Tengine服务器安装SSL证书(Linux)
安装配置
10分钟阅读
3421次浏览
前提条件
- 已获得权威机构签发的SSL证书
- 证书域名与网站域名匹配
- 服务器具有root权限或sudo权限
- 域名已完成ICP备案(中国内地服务器)
- 域名DNS已解析至服务器IP
步骤一:准备SSL证书
- 下载证书文件
- 登录SSL证书管理控制台
- 找到目标证书,下载服务器类型为Nginx的证书
- 解压后应包含:
.pem(证书文件)和.key(私钥文件)
- 上传证书到服务器
# 创建证书目录 sudo mkdir -p /etc/ssl/cert # 上传证书文件(使用scp、WinSCP等工具) # 证书路径示例: # /etc/ssl/cert/yourdomain.pem # /etc/ssl/cert/yourdomain.key
步骤二:配置系统环境
开放443端口
# 检查443端口
sudo ss -tlnp | grep :443
# firewalld防火墙
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
# ufw防火墙
sudo ufw allow 443/tcp
# iptables
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
步骤三:安装SSL证书到Nginx
1. 检查SSL模块
nginx -V 2>&1 | grep -o '--with-http_ssl_module'
如果输出--with-http_ssl_module则表示已安装。
2. 配置Nginx
sudo vim /etc/nginx/nginx.conf
添加以下配置:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
# 证书配置
ssl_certificate /etc/ssl/cert/yourdomain.pem;
ssl_certificate_key /etc/ssl/cert/yourdomain.key;
# SSL优化配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# 其他配置...
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
# HTTP自动跳转HTTPS
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
3. 测试并重载Nginx
# 测试配置
sudo nginx -t
# 重载配置
sudo nginx -s reload
步骤四:验证部署结果
- 浏览器访问
https://yourdomain.com - 确认地址栏显示安全锁图标🔒
- 如遇问题,清除缓存后重试
完成!您的Nginx服务器现已支持HTTPS访问。
最后更新:2026-05-25