如今我们越来越多的网站需要用到HTTPS格式的网址,也就是说需要安装SSL证书。老部落在之前"已有站点添加SSL证书/免费Let's Encrypt证书方法"已经有介绍到对于之前网站不是HTTPS网址的,然后不动网站数据仅添加SSL证书的方法,相比手动添加证书简单很多。
在众多SSL证书中,我们如果有预算,可以购买付费SSL证书,如果没有预算或者希望使用免费SSL证书,建议使用受到大众喜欢的Let's Encrypt证书。虽然免费90天,但是可以设置自动免费续约。在这篇文章中,将在LNMP一键包WEB环境中,添加新网站站点,然后自动安装Let's Encrypt免费SSL证书,当然需要设置自动续约。
第一、准备工作
1、需要将站点域名解析到当前VPS主机中,因为在自动安装Let's Encrypt证书的时候会检测域名所有权。
2、安装crontab自动模块
A - centos系统
#安装Crontab
yum install vixie-cron crontabs
#设置开机启动Crontab
chkconfig crond on
#启动Crontab
service crond start
B - Debian系统
#安装Crontab
apt-get install cron
#重启Crontab
/etc/init.d/cron restart
第二、LNMP添加站点自动安装SSL
1、添加站点
lnmp vhost add
前部分与"LNMP - 新增域名、MySQL数据库、安装WordPress网站过程"介绍的类似,将我们域名和数据库设置。
2、添加SSL
这里根据需要添加SSL,我们可以自己已有的SSL,这里我用免费的Let's Encrypt。然后等待自动安装。
这里我们可以看到自动安装SSL完毕。
第三、检查SSL安装与否
这里我们可以看到SSL证书已经安装完毕,而且也设置了自动续约。我们可以通过crontab -l检测。不过这里有一个问题,没有强制HTTPS,我们需要设置301.
1、修改位置
/usr/local/nginx/conf/vhost
找到对应站点配置文件。
2、添加强制HTTPS脚本
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
脚本添加到配置文件80模块区域中。
3、重启Nginx
lnmp nginx reload
生效之后我们再去打开网站,就可以强制以HTTPS形式访问网站。
第四、LNMP自动安装SSL小结
1、LNMP一键脚本支持添加站点的时候自动安装SSL证书,这里我演示到安装Let's Encrypt免费SSL证书,而且可以自动续约。
2、不过在安装证书之后,没有默认自动HTTPS,我们需要设置301强制HTTPS。