您好,欢迎来到 猿书

免费SSL安全证书Let's Encrypt申请及Nginx WEB站点部署

易大师 2017-04-14 1312次浏览 0条评论 0 打赏作者 0 0
如今,尤其是购物类、外贸类网站越来越多的需要将站点安装SSL证书,实现HTTPS网址格式,一来体现网站的数据安全性,二来主流需求且对于搜索 引擎有一定的帮助(只是听说,应该不至于),不过对于中文类网站来说目前使用SSL安全证书还不是很普遍,不过后面肯定也会流行起来的。毕竟互联网的资源是丰富的,老蒋在...

如今,尤其是购物类、外贸类网站越来越多的需要将站点安装SSL证书,实现HTTPS网址格式,一来体现网站的数据安全性,二来主流需求且对于搜索 引擎有一定的帮助(只是听说,应该不至于),不过对于中文类网站来说目前使用SSL安全证书还不是很普遍,不过后面肯定也会流行起来的。

免费SSL安全证书Let's Encrypt申请及Nginx WEB站点部署HTTPS

毕竟互联网的资源是丰富的,老蒋在之前的博客文章中也有介绍过多个免费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 admin@itbulu.com -d 51siyuan.cn -d www.51siyuan.cn

这里直接根据官方提供的方法从GITHUB获取安装包和目录安装,上面是一个标准的格式,根据我们的邮箱、以及需要添加的域名设置,如果多域名直接 在后面添加-d就可以,比如继续添加其他域名 -d www.yoursite.com以此类推。

PS:注意如果我们添加站点的时候,记得要先将域名解析到当前VPS服务器中,要不是获取不到SSL证书文件的,域名DNS最好用海外DNS,如果域名是海外平台的,那就用域名自身的,建议在申请获取SSL安全证书后再去更换DNS或者更换解析。

letsencrypt-nginx-2

能够看到这个就说明域名DNS没有问题,选择Agree然后回车继续。

letsencrypt-nginx-3

这里忘记在准备工作的时候暂停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证书

看到这样的文字和提示就代表获取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/51siyuan.cn/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的网站可以看到已有证书生效。

Let's Encrypt免费证书应用Nginx站点

当然,如果我们需要强制启动HTTPS,我们只需要强制添加一个301转向就可以,老蒋在"完整Comodo PositiveSSL证书安装Apache和Nginx网站环境过程"有介绍过Apache和Nginx站点环境配置SSL的方法都是类似的。我们唯独区别就是获取证书。


0

0 条评论