使用Let’s Encrypt轻松配置https站点

https不仅能提高网站安全,更是被搜索引擎纳入排名的因素之一。

2015年10月份,微博上偶然看到Let's Encrypt 推出了beta版,作为一个曾经被https虐出血的码农来说,这无疑是一个重磅消息。并且在全站Https的大趋势下,Let's Encrypt 脱颖而出,无疑会对传统SSL证书提供商造成不小的打击,并将Https的应用和推广上升到一个空前火热的阶段。

Let’s Encrypt是由ISRG(Internet Security Research Group)提供的免费SSL项目,现由Linux基金会托管,他的来头很大,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,现在已经得到Google、Facebook等大公司的支持和赞助,目的就是向网站免费签发和管理证书,并且通过其自身的自动化过程,消除了购买、安装证书的复杂性,只需几行命令,就可以完成证书的生成并投入使用,甚至十几分钟就可以让自己的http站点华丽转变成Https站点。

Let's Encrypt背后的力量: 它是在mozilla, akamai, cisco, chrome,facebook等很多互联网以及传统it公司赞助下开发完成的,技术实力可见一斑。

下面从实战的角度,为大家详细地介绍Let's Encrypt的使用过程

  1. 安装Let's Encrypt

第一步:执行以下命令

 git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --email xxx@xx.com

1、如果提示git命令无效的话,需要安装一下GIt,直接执行命令 yum install git-all 完成安装,

2、如果是RedHat/CentOs6系统的话,需要提前安装EPEL(Extra Packages for Enterprise Linux),执行命令 yum install epel-release

3、 整个过程需要主机连接外网,否则会导致报以下错误

复制代码

IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: on-img.com
Type: urn:acme:error:connection
Detail: Failed to connect to host for DVSNI challenge Domain: www.on-img.com
Type: urn:acme:error:connection
Detail: Failed to connect to host for DVSNI challenge

复制代码

4、Let's encrypt 是由python编写的开源项目,基于python2.7环境,如果系统安装的是python2.6,会提示升级

也可以执行以下命令(官方不推荐)

./letsencrypt-auto certonly --email xxx@xx.com --debug

第二步:接下来提示输入域名 多个用空格隔开

出现以下提示说明证书生成成功

2、使用证书进入/etc/letsencrypt/live/on-img.com/下,on-img.com是第二部中填写的域名,到时候换成自己的域名即可。

  cert.pem 服务器证书

  privkey.pem 是证书私钥

  如果是云服务器+负载均衡的话,直接添加以上证书,绑定负载均衡,直接访问https:// xxx.com

  如果是自己配置的Nginx的,需要以下配置

server
{
listen 443 ssl; /
server_name xxx.com; //这里是你的域名
index index.html index.htm index.php default.html default.htm default.php;
root /opt/wwwroot/ //网站目录
ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem; //前面生成的证书,改一下里面的域名就行,不建议更换路径
ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem; //前面生成的密钥,改一下里面的域名就行,不建议更换路径
........
}

最后 别忘了重载Nginx

执行 /etc/init.d/nginx reload 使其生效。

以上配置无误,就直接可以使用https,我的测试环境是 虚拟主机 + 负载均衡,整体搭建到上线使用,不到二十分钟,各大浏览器测试均正常。

最后一点是证书的有效期问题,官方默认的有效期是3个月,请确保到期之前更新一下证书。

实例验证,使用chrome打开java教程,点击地址栏左侧的图标可以看到证书的签名信息由let's encrypt提供。

你还在等什么呢?

使用Let’s Encrypt轻松配置https站点的更多相关文章

  1. linux配置https站点

    配置https站点呢,那就需要https证书,证书从何而来,花钱买?no,no,no,阿里有免费的,只是比较难发现,下面就图文解说一下怎么买免费的阿里https证书 首先阿里云,登录,购买链接———— ...

  2. 为 docker 中的 nginx 配置 https

    没有 https 加持的网站会逐渐地被浏览器标记为不安全的,所以为网站添加 https 已经变得刻不容缓.对于商业网站来说,花钱购买 SSL/TLS 证书并不是什么问题.但对于个人用户来说,如果能有免 ...

  3. 网站配置https(腾讯云域名操作)

    我们都知道http协议是超文本传输协议,早期的网站使用的都是http,但是并不安全,数据在传输过程中容易被拦截篡改.所以后面有了https,也就是经过ssl加密的http协议.本文主要对网站配置htt ...

  4. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  5. Apache 配置多个HTTPS站点

    作中经常会遇到多个站点实现https访问,并指向同一个网页,本文将详解如何在Centos 环境下配置Apache多站点实现HTTPS访问. 准备工作 OS:CentOS release 6.8 (Fi ...

  6. Nginx 安装配置证书,设置HTTPS站点

    详细配置如下: server { listen 80; server_name shwww.net www.shwww.net; return 301 https://www.shwww.net$re ...

  7. phpcms站点域名配置https无法提交如何处理

    一位网友给ytkah反映说phpcms站点域名配置https无法提交,在后台修改站点域名为https提交后提示“站点域名格式应该为http://www.phpcms.cn/,请以‘/’结束”,这个要如 ...

  8. SSL证书部署HTTPS站点Apache/Nginx配置

    SSL证书及HTTPS协议 SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的 ...

  9. 生成和配置https证书

    最近在做小程序,调用后台接口需要https协议请求,小程序之所以这么要求,也是因为http协议是明文传播文件数据的,出于数据安全考虑,必须使用https协议. http想实现为https 就需要为配置 ...

随机推荐

  1. 问题解决——MFC SDI程序 CFormView中控件随窗口缩放

    从来都是做对话框程序,这次想做个SDI的程序,想着用一下带Robbin界面的office2007风格,就不用使用那些花钱的商业控件/UI库了. 如果你不想看我打的文字,可以直接拷走代码,自己声明上定义 ...

  2. 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决

    看OpenGL超级宝典的时候,遇到一个函数 “gltDrawTorus”,在TRANSFORM和SPHEREWORLD中都有用到.但是一开始在自己写示例代码里时却没法使用,而在作者的代码目录结构下却可 ...

  3. p2p投资理财入门篇(新手必备)

    在互联网金融浪潮下,如果你只知道余额宝.理财通,如果你认为宝宝们就可以代表整个互联网金融,那可真是大错特错.这些年来,P2P这股强大势力一直在互联网金融领域兴风作浪,随着被高层正名.监管升级,P2P的 ...

  4. Linux系统升级更新openssh 7.3p1

    放在最前面:鉴于网上爬虫猖獗,博客被盗时有发生,这里需要来个链接,大家请认准来自博客园的Scoter:http://www.cnblogs.com/scoter2008,本文将持续更新 最近绿盟给扫描 ...

  5. centos 配置本地 yum源

    修改CentOS-Media.repo时 每行代码开始不要有空格 [c6-media] #库名称 name=CentOS-$releasever - Media #名称描述 baseurl=file: ...

  6. Linux gcc命令

    一.简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objectiv ...

  7. 常用的Linux可插拔认证模块(PAM)应用举例(一)

    pam_access.so模块 pam_access.so模块主要的功能和作用是根据主机名(包括普通主机名或者FQDN).IP地址和用户实现全面的访问控制.pam_access.so模块的具体工作行为 ...

  8. Linux shell basic2 cat find tr

    Cat stands for concatenate. Case 1. When the text files have more blank lines, we want to remove the ...

  9. Design Pattern :Factory and Reflect in java

    interface page {     void Render(); } class pageA implements page {     @Override     public void Re ...

  10. opencv3.1 + opencv_contrib编译记事(win7下)

    折腾了好几天,终于把opencv3.1加上一个额外的包opencv_contrib编译好了.(总体来说编译opencv就是填坑!!!) 最后我编译成功的是mingw版本的.也就是结合了Qt4.7+cm ...