在阿里云 ECS 中,如何免费设置 SSL 证书,网站 http 协议更换为 https 协议。
1、【控制台】-【域名】-【管理】
2、【免费开启SSL证书】
3、【单域名免费证书】,注意黄字提醒
4、【申请】-【填写申请】-【验证信息】-【验证】
5、等待十分钟,【下载】证书,我这里选择 nginx 证书下载
解压出来是一个 .crt 文件和 .key 文件,上传到你服务器的 nginx 文件夹。
server { listen 443 ssl http2; server_name www.cc1021.com cc1021.com; ssl_certificate 你上传的 .crt 文件路径 ssl_certificate_key 你上传的 .key 文件路径 ssl_session_cache shared:SSL:1m; 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; #以下配置省略 }
如果你想关闭你的 http 访问,添加下面这段代码
server { listen 80; #listen [::]:80; server_name www.cc1021.com cc1021.com; #将HTTP 301 重定向到 HTTPS 开始 rewrite ^(.*)$ https://$host$1 permanent; #将HTTP 301 重定向到 HTTPS 结束 index index.html index.htm index.php default.html default.htm default.php; }
如果一站点既要80 http访问,又要443https访问。
要让https和http并存,不能在配置文件中使用ssl on,配置listen 443 ssl;
实例
server { listen 80; listen 443 ssl; server_name www.iamle.com; index index.html index.htm index.php; root 你的 root 路径 #ssl on; 这里要注释掉 ssl_certificate 你上传的 .crt 文件路径 ssl_certificate_key 你上传的 .key 文件路径 #以下配置省略 }
输入
nginx -t
查看你的 nginx 配置是否合法,合法的话会返回 successful
nginx -s reload
重新加载你的 nginx 配置文件
开启你服务器的 443 端口
service nginx reload
重新启动你的 nginx
之后,访问你的 域名 ,http 成功转化成 https
这样你就免费的安装了 SSL 证书, http 完美切换成 https 协议。