Nginx安装SSL证书
不想手动安装?用自动化部署,装一次以后续期都不用再操作。
了解自动化部署服务器环境
Web 服务器:Nginx
前置条件
Nginx 1.10.0 或更高版本
已获取 SSL 证书文件
具有服务器的 root 或 sudo 权限
配置示例
终端
server {
listen 80;
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate ssl/yourdomain.com.crt;
ssl_certificate_key ssl/yourdomain.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}安装步骤
准备证书文件
在 nginx.conf 所在的目录创建 ssl 目录
上传证书文件到 ssl 目录
配置 Nginx 服务器块
终端server { listen 80; listen 443 ssl; server_name your-domain.com; ssl_certificate ssl/your-domain.crt; ssl_certificate_key ssl/your-domain.key; # SSL 配置优化 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; location / { root /usr/share/nginx/html; index index.html index.htm; } }测试配置并重启
终端nginx -t systemctl restart nginx
验证安装
检查 Nginx 状态
使用 https 访问
配置 HTTP 重定向
在配置文件中添加跳转代码:
终端
server {
#站点和SSL的配置信息···
#自动跳转到HTTPS(和下面的部分域名跳转不能同时使用)
if ($server_port = 80){
rewrite ^(/.*)$ https://$host$1 permanent;
}
}终端
server {
#站点和SSL的配置信息···
#绑定域名较多,只让部分域名跳转(根据情况选用,和上面的全部跳转不能同时使用)
set $redirect_https 1;
if ($server_port = 80) {
set $redirect_https "${redirect_https}2";
}
if ($http_host = 'abc.com') {
set $redirect_https "${redirect_https}3";
}
if ($http_host = 'cde.com') {
set $redirect_https "${redirect_https}3";
}
if ($redirect_https = "123") {
#当前域名跳转
rewrite ^(.*)$ https://$host$1 permanent;
#可以跳转到指定的域名
#rewrite ^(.*)$ https://www.abcde.com$1 permanent;
}
}这篇指南对你有帮助吗?