之前都说部署SSL证书后会影响网站访问速度,再加上自己也不懂代码,就一直懒得弄,后来想换友链,发现很多大佬的博客友链交换要求中都提到必须支持“http(s)”,所以就耐心花时间整理了下,发现也没那么麻烦,头一个站点花了点时间,后面一个站点做好也就几分钟。
我这边使用的是阿里云的云服务器ECS,用不了一键部署功能,我记得之前公司做了个阿里的云建站,好像是可以一键部署的。然后服务器用的是宝塔控制面板,不用改代码,复制粘贴,爽歪歪呀。
先到阿里云SSL证书控制台申请免费的SSL证书,这个阿里云免费SSL证书申请教程很详细,就不说了,然后阿里云这篇教程也很老了,现在SSL免费证书申请在域名验证时,如果是在万网买的域名,系统会直接自动验证,都不用自己做解析了(现在每年有20个免费证书额度)。
证书申请后,下载到本地,一个压缩包,加压后是证书文件和密钥。
解压证书文件后,根据服务器系统版本安装,我的是Nginx,然后看了阿里云的《在Nginx(或Tengine)服务器上安装证书》教程,发现是直接敲代码配置的,不懂,打开宝塔发现居然可以直接复制粘贴,方便啊。下面是用宝塔面板上传证书:
1、打开宝塔首页/网站管理-打开要上传SSL证书的网站的“设置”-打开“SSL”其他证书。
2、用TXT打开解压的两个证书文件,注意,不要复制错了,注意后缀pem和key,然后把内容分别复制粘贴到对应的框里,点击“保存”。
3、打开SSL-证书夹,发现里面已经有刚才上传的证书文件了,点击“部署”,显示“设置成功”。
4、设置HTTP请求自动跳转HTTPS。这里我刚开始就弄错了,宝塔系统上传证书文件,会默认添加一行代码,导致重启后重定向代码没有生效,http和http都能正常访问,而不是http跳转至https。
咨询了群内大佬后找到原因了,就是要删除系统默认的这行代码:
listen 80;
然后下面添加代码:
server {
listen 80;
server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
5、保存,重启Nginx服务器,SSL证书生效了。
然后site了之前收录的旧链接,点击访问也都跳转至“https”了。
Comments | 5 条评论
博客作者 皇家元林
你这个是5月7日 显示三天前?还是最多都是三天前?
顶部的背景图 看起来像个男的 但是有奶。。。。
博客作者 五月七日
@皇家元林 应该是三天前,顶部图是女的哇,动漫《斩赤红之瞳》的主角之一艾斯德斯(エスデス / Esdeath)。
博客作者 五月七日
@皇家元林 哦,不对,博客名字叫五月七日,代号而已,不代表时间。。。
博客作者 Aniyah Ava Ariana Huber
Keep up the amazing work!