如今,尤其是购物类、外贸类网站越来越多的需要将站点安装SSL证书,实现HTTPS网址格式,一来体现网站的数据安全性,二来主流需求且对于搜索 引擎有一定的帮助(只是听说,应该不至于),不过对于中文类网站来说目前使用SSL安全证书还不是很普遍,不过后面肯定也会流行起来的。
毕竟互联网的资源是丰富的,老蒋在之前的博客文章中也有介绍过多个免费SSL安 全证书资源,比如WoSign,StartSSL,UK2提供的Comodo PositiveSSL免费证书,这也包括在这篇文章需要分享的Let's Encrypt免费SSL证书提供商,这算是一个公益组织,为了普及项目使用SSL证书发起的,且得到大部分浏览器和商家的支持,基本上与普通付费SSL 没有多大的区别,最为主要的是永久免费(90天需要手工免费续约一次)。
在这篇文章中,老蒋将会基于Linux Debian系统,LNMP(Nginx)WEB环境安装Let's Encrypt免费SSL安全证书和部署站点实现HTTPS网站网址URL的访问,实现网站URL前面有一个小绿锁的效果。
第一、部署Let's Encrypt准备工作
因为老蒋准备在Nginx环境中部署SSL证书,所以我们需要提前将当前VPS服务器安装Nginx环境,我们可以自己手工编译安装,或者使用军哥 LNMP一键包或者之前也有介绍的OneInStack这类的一键包都可以,根据我们实际的使用习惯。当然,如果我们用Apache其实也是一样的,只是 最后在部署站点的时候有稍许不同,老蒋这里演示中使用的是Nginx,所以就先基于Nginx部署。
PS:这里我采用的是Debian发行版本,因为需要基于GIT和PYTHON环境,所以我们提前准备升级版本源和GIT工具。
apt-get update
apt-get -y install git bc
第二、获取Let's Encrypt证书
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --standalone --email [email protected] -d itbulu.com -d www.itbulu.com
这里直接根据官方提供的方法从GITHUB获取安装包和目录安装,上面是一个标准的格式,根据我们的邮箱、以及需要添加的域名设置,如果多域名直接 在后面添加-d就可以,比如继续添加其他域名 -d www.laojiang.me -d laojiang.me以此类推。
PS:注意如果我们添加站点的时候,记得要先将域名解析到当前VPS服务器中,要不是获取不到SSL证书文件的,域名DNS最好用海外DNS,如果域名是海外平台的,那就用域名自身的,建议在申请获取SSL安全证书后再去更换DNS或者更换解析。
能够看到这个就说明域名DNS没有问题,选择Agree然后回车继续。
这里忘记在准备工作的时候暂停NGINX,因为占用80端口导致问题,所以才看到上面的错误提示。所以我们需要暂停NGINX占用的80端口,然后再获取。这里我用的是军哥LNMP环境,所以命令暂停Nginx是lnmp nginx stop
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/laojiang.me/fullchain.pem. Your cert will
expire on 2016-07-13. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
看到这样的文字和提示就代表获取Let's Encrypt证书成功,初次是90天,我们需要在到期前手工续约就可以继续又90天。然后我们在"/etc/letsencrypt/live/当前域 名/"目录中看到4个文件(cert.pem chain.pem fullchain.pem privkey.pem)。
第三、Let's Encrypt免费证书应用Nginx站点
这里我们在获取到4个文件之后,可以备份到本地,毕竟如果在需要迁移的时候需要用到,这里因为我用的是NGINX WEB环境,所以就在当前配置文件进行设置站点启动HTTPS。
1、编辑.conf文件
/usr/local/nginx/conf/vhost/
对应当前站点的.conf文件,然后添加类似的脚本。
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/laojiang.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/laojiang.me/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
添加到差不多对应行中,然后再启动Nginx,因为之前我们获取证书的时候是STOP掉的,这里需要启动。然后我们在地址栏中输入HTTPS的网站可以看到已有证书生效。
当然,如果我们需要强制启动HTTPS,我们只需要强制添加一个301转向就可以,老蒋在"完整Comodo PositiveSSL证书安装Apache和Nginx网站环境过程"有介绍过Apache和Nginx站点环境配置SSL的方法都是类似的。我们唯独区别就是获取证书。
本文原创来自:http://www.itbulu.com/letsencrypt-nginx.html
文章评论 本文章有个评论