LNMP(即LNMP.org版LNMP脚本)更新到了1.4版本后已经增加了增加ssl选项,可以选择Let’s Encrypt 或自定义证书和key文件,操作已经和OneinStack一样方便了。本文就来分享一下LNMP 1.4安装Let’s Encrypt 免费SSL证书方法。
LNMP 1.4支持自动申请和安装Let’s Encrypt 免费SSL证书,当然如果你自己有SSL证书,那么LNMP 1.4在创建虚拟机时直接输入Key和PEM地址,LNMP 1.4会自动帮你配置好SSL了,不懂Nginx配置的朋友有福了。而对于LNMP 1.3的朋友,也不用担心。
LNMP 1.3默认编译都已经加了SSL部分,加上Nginx配置SSL都不是很复杂,大家只需要添加几段SSL代码就可以了。
LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
一、LNMP自动安装Let’s Encrypt 方法
1、官方网站:
- 1、LNMP:https://lnmp.org/
- 2、Let’s Encrypt:https://letsencrypt.org/
2、LNMP 1.3安装可以参考:扔掉VPS面板!网站平滑迁移到LNMP或LAMP建站环境的方法,这里是LNMP 1.4测试版安装代码:
wget -c http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4 && ./install.sh {lnmp|lnmpa|lamp} #请注意最后的参数,需要哪个模式就写哪个,./install.sh 不带任何参数默认为LNMP模式。
3、LNMP 1.4增加PHP7.1支持,增加LNMP模式下多PHP版本选择,安装LNMP时会让你选择安装哪一个版本的PHP、哪一个版本的MysqL等。(点击放大)
4、执行:lnmp vhost add 添加虚拟机,添加网站的域名,设置网站的目录,伪静态,日志的名称,数据库等,注意在询问是否添加SSL证书时,选择安装Let’s Encrypt 。(点击放大)
5、选择了自动安装Let’s Encrypt 免费SSL证书时,会安装一系列的组件,部分过程可能等待的时间比较长,请耐心等待一下。这是LNMP自动安装Let’s Encrypt 成功的提示。(点击放大)
二、LNMP自动安装Let’s Encrypt 注意地方
1、使用LNMP自动安装Let’s Encrypt ,因为涉及到要验证域名,所以请提前将你的域名解析到你的VPS主机上,这样才可以成功使用LNMP自动安装Let’s Encrypt 。
2、Nginx SSL配置。LNMP自动安装Let’s Encrypt 生成Nginx SSL配置文件的路径是:/usr/local/nginx/conf/vhost。
3、打开xxxdomain.conf,就能够看到SSL配置代码了,以后大家自己想要配置SSL的话也可以进入到这里修改了。
4、Let’s Encrypt 生成的Key与PEM证书路径是:/etc/letsencrypt/live/xxxdomain,主要是两个文件:fullchain.pem和Privkey.pem。以后更新Let’s Encrypt 都会在这里。
5、LNMP自动安装Let’s Encrypt 后,原来的http依然可以访问,如果你想做301强制http跳转到https,可以使用以下代码放在xxxdomain.conf中。
server
{
listen 80;
server_name ucblog.net www.ucblog.net;
rewrite ^(.*) https://www.ucblog.net$1 permanent;
}
#或者
return 301 https://www.ucblog.net$request_uri;
6、效果如下图:
三、LNMP手动配置SSL证书方法
1、如果你想在LNMP上安装自己的SSL证书,则在创建虚拟机可以选择“Use Your own ssl Certificate and key”。然后输入你的SSL证书路径与Key完整路径。
2、所以,此处最关键的就是将你SSL证书和Key上传到服务器上了。以腾讯云DV SSL证书为例,申请成功下载得到了就是crt和key两个文件,这两个文件就能上传到服务器上安装SSL了。
四、Let’s Encrypt 手动申请及安装在LNMP 1.4上
1、如果你想手动安装Let’s Encrypt 也不是很复杂,先将你的域名解析到你的VPS主机上,然后到https://certbot.eff.org/选择适合你的VPS操作系统的安装代码:
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto certonly
2、接下来要你选择授权目录,这时我们一般都会选择网站根目录。
3、然后输入你想要申请Let’s Encrypt 免费SSL证书的域名,这个域名必须是已经解析到了VPS上的。
4、然后会要你输入网站根目录。
5、找到我们已经用LNMP创建好的虚拟机网站根目录。
6、耐心等待,Let’s Encrypt 申请成功了。
7、我们可以进入到/etc/letsencrypt/live/看到自己刚刚申请到的CRT和Key。
8、找到我们用LNMP创建虚拟机生成的Nginx配置文件。
9、如果你在用LNMP创建网站时选择是添加SSL,这时你的Nginx配置中已经有SSL代码了,这时你只需要替换好SSL路径即可。要求是完整路径,示例如下:
/etc/letsencrypt/live/web.ucblog.net/fullchain.pem
/etc/letsencrypt/live/web.ucblog.net/privkey.pem
10、重启LNMP,打开域名,查看SSL证书已经安装成功了。
五、LNMP 1.3安装配置Let’s Encrypt SSL
1、先按照上面的方法,手动申请好Let’s Encrypt SSL证书,打开你的域名Nginx配置文件,将SSL代码复制粘贴到下方即可。
2、Nginx SSL配置代码该如何修改?这里给出一份没有添加SSL的Nginx 配置文件代码。
server
{
listen 80;
#listen [::]:80;
server_name we.ucblog.net ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/we.ucblog.net;
include wordpress.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/we.ucblog.net.log;
}
3、这里是已经添加了Nginx SSL配置代码示例,通过对比你只需要将含有SSL代码的Nginx代码复制到里面即可。
server
{
listen 80;
#listen [::]:80;
server_name web.ucblog.net ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/web.ucblog.net;
include wordpress.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/web.ucblog.net.log;
}
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name web.ucblog.net ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/web.ucblog.net;
ssl on;
ssl_certificate /etc/letsencrypt/live/web.ucblog.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/web.ucblog.net/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/nginx/ssl/dhparam.pem;
include wordpress.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/web.ucblog.net.log;
}
4、大家在复制代码时记得将示例中的web.ucblog.net演示网址替换成自己的。
六、LNMP安装Let’s Encrypt小结
1、Let’s Encrypt有效期只有三个月,所以最好是设置一个定时任务:crontab –e,然后将以下代码复制到里面,表示每隔7天就自动更新一下Let’s Encrypt:
0 3 */7 * * /bin/certbot renew --renew-hook "/etc/init.d/nginx reload"
2、LNMP提供的LAMP也有SSL配置示例,如果你采用的是Apache架构,也可以参考LNMP提示的SSL配置示例进行手动配置。
评论前必须登录!
注册