Nginx 服务器 SSL 证书安装部署
Category(分类): Backend Status: 已读
原文:Nginx 服务器 SSL 证书安装部署(腾讯云官方文档)。 本文为整理版本,以
cloud.tencent.com证书、nginx/1.18.0、CentOS 7 为例。
操作场景
在 Nginx 服务器中安装 SSL 证书,启用 HTTPS。
注意:安装前请在服务器上开启 HTTPS 默认端口 443,避免证书安装后无法启用。
前提条件
- 已准备文件远程拷贝软件(如 WinSCP)与远程登录工具(如 PuTTY / Xshell);
- 已安装含
http_ssl_module模块的 Nginx(nginx -V可查); - 备好服务器 IP、用户名、密码。
证书安装
1. 下载证书
在证书颁发控制台下载证书,服务器类型选择 Nginx,解压得到 cloud.tencent.com_nginx 文件夹:
| 文件 | 说明 |
|---|---|
cloud.tencent.com_bundle.crt | 证书文件(部署用) |
cloud.tencent.com_bundle.pem | 证书文件(PEM 格式) |
cloud.tencent.com.key | 私钥文件(部署用) |
cloud.tencent.com.csr | CSR 文件(申请证书时提供给 CA 用,安装时可忽略) |
2. 上传证书
将 cloud.tencent.com_bundle.crt 与 cloud.tencent.com.key 拷贝到 Nginx 服务器的 /etc/nginx 目录(按实际安装目录调整)。
3. 编辑 nginx.conf
执行 vim /etc/nginx/nginx.conf(找不到位置时可先执行 nginx -t 查看配置文件路径),修改 server 块:
版本注意:nginx/1.15.0 以上请使用
listen 443 ssl,代替listen 443+ssl on的旧写法。
server {
# SSL 访问端口号为 443
listen 443 ssl;
# 填写绑定证书的域名
server_name cloud.tencent.com;
# 证书文件名称
ssl_certificate cloud.tencent.com_bundle.crt;
# 私钥文件名称
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
# 请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
# 请按照以下加密套件配置,配置加密套件,写法遵循 openssl 标准
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
4. 验证并重载
nginx -t # 验证配置,有问题按提示修改
nginx -s reload # 重载 Nginx
重载成功后即可使用 https://cloud.tencent.com 访问。浏览器地址栏出现安全锁标识,则说明证书安装成功。
HTTP 自动跳转 HTTPS(可选)
在 Web 服务器层面实现跳转:针对 80 端口的 server 增加 return 301:
server {
listen 443 ssl;
server_name cloud.tencent.com;
ssl_certificate cloud.tencent.com_bundle.crt;
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 80;
server_name cloud.tencent.com;
# 把 http 的域名请求转成 https
return 301 https://$host$request_uri;
}
修改后同样执行 nginx -t 验证、nginx -s reload 重载。
整理者注
这套流程与本站《Nginx 反向代理 Docker Nuxt 项目的完整配置过程》的生产实践一致:443 加载证书 + 80 端口 301 跳转,是 Nginx HTTPS 部署的标准姿势。要点回顾:
- 只需
.crt(证书链)+.key(私钥)两个文件,.csr安装时用不到; listen 443 ssl是 1.15.0+ 写法;- 协议只留 TLSv1.2/1.3,旧协议有安全隐患;
nginx -t永远在reload之前执行。