如何在Nginx中添加SSL证书以支持HTTPS协议访问
2023-10-13 · 百度认证:安徽斯百德信息技术有限公司
将申请好的SSL证书文件上传到服务器:将证书文件(一般是以.pem或.crt为扩展名的文件)上传到服务器的指定目录,比如 /etc/nginx/ssl。
配置Nginx虚拟主机:打开 Nginx 的配置文件,一般是位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf ,找到需要启用HTTPS的虚拟主机配置块。
添加SSL证书配置:在虚拟主机配置块中添加以下配置项,以启用SSL证书:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /etc/nginx/ssl/your_cert.crt;
ssl_certificate_key /etc/nginx/ssl/your_private_key.key;
# 可选:为了增强安全性,可以添加以下配置项
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
location / {
# 配置代理或者其他相关的业务逻辑
}
# 其他虚拟主机配置...
}
注意替换 your_domain.com、your_cert.crt 和 your_private_key.key 为实际的域名、证书文件和私钥文件路径。
保存配置文件并重启Nginx:完成配置后,保存文件并重新加载或重启Nginx服务,使配置生效。
sudo systemctl reload nginx
或
sudo systemctl restart nginx
配置防火墙:如果服务器上启用了防火墙,请确保允许入站/出站的HTTPS流量通过防火墙。
CA证书就是文件youdomain.crt和私钥文件youdomain.key
请确认所收到的证书文件是您需要的陕西CA证书。
二、安装服务器证书
1. 配置ssl证书
打开nginx安装目录下conf目录中的nginx.conf文件,找到被注释掉的server 配置,进行修改:
server {
listen 443 ssl;
server_name www.yourdomian.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/youdomain.crt; #证书公钥
ssl_certificate_key /usr/local/nginx/conf/youdomain.key; #证书私钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
把服务器证书youdomain.crt和私钥youdomain.key上传到配置文件指向的目录/usr/local/nginx/conf/(具体文件路径可以自行指定)
保存退出,并重起nginx配置nginx -s reload后通过https方式访问您的站点,测试站点证书的安装配置。
三、访问测试
服务器若部署了SSL证书,浏览器访问时将出现安全锁标志;
备份和恢复
1. 备份服务器证书
备份服务器证书私钥文件youdomain.key,服务器证书文件youdomain.crt,即可完成服务器证书的备份操作。
2. 恢复服务器证书
参照步骤“三、安装服务器证书”即可完成恢复操作。
SSL证书一般由 GlobalSign 等 CA 机构颁发,网站在安装 SSL 证书之后可以以“https”的方式访问网页。https 意味着这是一个安全连接。
谷歌为鼓励网站开发者在保护网页信息上付出更多努力,谷歌搜索引擎排名新算法会提升安装了SSL证书(又叫“https证书”)的网页的搜索权重。
这表示在谷歌搜索新算法下,经过“HTTPS”(超文本传输安全协议)处理的网页——为网页增加 SSL 安全证书——的权重会得到提升,而继续采用“HTTP”(超文本传输协议)的网页的权重会相对降低。因此,本文主要记录,Apache和nginx下如何为网站添加ssl证书,以支持https访问。