前言
先看一下 https 和 http 域名的区别,是不是感觉 https 非常高大上!
申请 ssl 证书
接下来让我们去阿里云申请一个免费的 ssl 证书(因为我的主机是在阿里云买的)。
进入 ssl 证书控制台购买证书,品牌--Symantec 保护类型--1 个域名 证书类型--免费型 DV SSL (先选第三项再选第二项)0 元购买。
域名解析
购买成功后我们的证书列表中就有了一个证书,接下来我们去补全信息,补全信息后需要审核一段时间,这个时候我们先去解析 TXT,点击进度如图。
如图配置 TXT 解析记录。
配置好解析记录后再次查看进度,点击检查配置就可以看到“DNS 配置记录正确,请耐心等候”。
等待十分钟,再次返回 ssl 证书列表,看到我们的证书已经申请下来了。
配置 nginx
接下来我们去配置 nginx,点击下载。
下载证书 for nginx
附上官方文档。
文件说明:
1. 证书文件 214979915360976.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的 CSR,还包含:证书私钥文件 214979915360976.key。
( 1 ) 在 Nginx 的安装目录下创建 cert 目录,并且将下载的全部文件拷贝到 cert 目录中。如果申请证书时是自己创建的 CSR 文件,请将对应的私钥文件放到 cert 目录下并且命名为 214979915360976.key;
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
( 3 ) 将其修改为 (以下属性中 ssl 开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214979915360976.pem;
ssl_certificate_key cert/214979915360976.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出。
( 4 )重启 Nginx。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。如遇到证书不信任问题,请查看帮助视频。
官方的 md 文档写的真好,我还在学习中。。。
记得重启 nginx!
现在通过 https 访问您的站点应该就会显示安全了
我发现 nginx 官网好像也没开 https 协议。。。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于