安装SLL证书(HTTPS)
参考
登录:https://buy.wosign.com/free/#ssl 申请免费ssl证书
申请沃通SSL证书参考:http://www.laozuo.org/3215.html
安装SSL参考:http://www.laozuo.org/5571.html
第一步、部署HTTPS基础工作准备
A - 我们需要在自己已有的VPS环境中是用LNMP一键包安装的,如果没有安装或者不清楚可以参考"LNMP一键安装包基础教程目录"文章。
B - 这里老左是用沃通免费SSL作为演示的,所以我已经申请好免费的SSL,且解压证书文件我们可以看到里面有各种环境的。
lnmp-ssl-1
因为这里我们是用NGINX WEB环境的,所以我们需要解压FOR NGINX.ZIP文件包,然后看到一个CRT一个KEY文件。
第二步、上传和部署SSL证书
A - 把上面的一个CRT一个KEY文件上传到VPS ROOT目录中,然后对应修改成SSL.CRT和SSL.KEY文件名,或者我们用作其他命令都可以。
B - 解密私钥和设置权限
openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key
登录SSH,执行上述两行脚本,解密私钥和授权。
第三步、在LNMP环境部署站点SSL设置
我们需要在已有的LNMP添加了站点,然后在站点对应的CONF文件设置。
在"/usr/local/nginx/conf/vhost/"目录文件中,找到对应站点的conf文件,然后修改设置如下
{
listen 80;
listen 443 ssl;
#listen [::]:80;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
server_name laozuo.org www.laozuo.org;```
上面的红色标注部分是我添加的,对应路径我们要与之前上传的CRT和KEY文件路径对应以及文件名不要搞错。
最后,我们重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。
###遇到的问题
1、目录放错
2、申请过程中只添加一个未带WWW域名导致访问提醒证书无效
3、不显示小绿锁
3.1,是网站存在其他网站非加密地址,即没有https。
3.2,网站内存在非https图片等等
解决办法:去除其他网站css、js文件,手动给网站图片添加https即可解决。
使用mysql语句更便捷
具体参考:https://www.zhihu.com/question/47681812/answer/108500968
4、关于安装好SSL后网站不自动跳转https
能想到的方法就是修改rewrite
配置
[html]view plaincopyprint?
server {
listen 192.168.1.111:80;
server_name test.com;
rewrite ^(.*)$ https://$host$1 permanent;
}```
搭建此虚拟主机完成后,就可以将http://bilibe.com 的请求全部重写到 https://bilibe.com上了
我自己博客用的是在偷懒的办法直接在公共文件加了一段js代码,代码如下:
var url = window.location.href;
if (url.indexOf("https") < 0) {
url = url.replace("http:", "https:");
window.location.replace(url);
}```
让浏览器强制从http跳转到https,https到此完工。