一、获取证书。
我以阿里y举例。
第一步你得有个域名。
第二步你得有个云服务器。
当你域名与服务器都是同一个厂商时,这个时候你就去绑定下DNS解析。
绑定好后可以在你的云服务器上部署一个nginx进行验证 域名与服务器是否绑定好。
下一步去域名服务商哪里申请ssl证书
咱主打一个学习,所以用免费证书就够了。
购买完后直接创建证书
这里的联系人填好会需要验证。CSR生成方式选择系统生成就成。
提交审核则会生成一条记录
这是点击验证然后根据提示完成相应操作即可。这里有个注意点当你的云服务器和域名为同一家厂商买得则正常配置就行,如果是分开的,则需要再申请ssl证书时把DNS改为和域名同厂商的方可验证通过获取证书。在这里验证无误后则静等审核通过,提示错误则修改对应信息。
审批通过后我们直接下载nginx类型的。注意这里nginx下载的是 pem/key 证书。并没有crt证书。这个时候需要用到
openssl x509 -inform PEM -in yourpemName.pem -outform PEM -out yourcrtName.crt
ps:yourpemName.pem ssl证书下载的带.pem后缀的文件名 yourcrtName.crt 你想生成什么名字的crt名字。
我是传到linux服务器上生成的,本地没有这个命令。
二、在服务器nginx配置ssl
server {
listen 443 ssl; # 1.1版本后这样写
server_name xxxx; #填写域名
ssl_certificate /etc/nginx/ssl/xxxx.crt; #crt证书存放位置
ssl_certificate_key /etc/nginx/ssl/xxxxx.key; #key证书存放位置
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
ps:我是使用docker部署的nginx,并把证书直接复制进容器,则填写ssl证书在容器里的路径。下面的变量固定格式照搬即可。
特别注意在docker 创建nginx时一定要把443端口号暴露出来否则会访问失败。