相对来说,个人网站建立SSL是昂贵的,而且往往过程繁琐。一个标准的2048位证书费用至少150美元/年,网站除了要支付一笔昂贵的费用、重新配置Web服务器,并需要解决大量的配置错误。这让广大中小网站望而生畏。

然而,Let's Encrypt免费证书的开放,极大推进了国内 HTTPS 的进程。Let's Encrypt 真正的意义在于,它推动了 HTTPS 在小型网站和个人网站中的应用,加速全面 HTTPS 时代的到来。Let's Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。

Let'sEncrypt的工作原理

看图:

ACME 解决了私钥持有者验证自己身份这一过程的自动化问题。

在CentOS6,CentOS7上安装Let's Encrypt

非营利组织电子前沿基金会的CertBot是一个很好的工具,我们使用它来安装Let's Encrypt

一、升级系统

  1. # yum -y update

二、安装EPEL库,为CertBot提供最新的Python包。

  1. # yum -y install epel-release

三、下载CertBot

1、CentOS7:

  1. # yum -y install python-certbot-apache

2、CentOS6:

  1. # wget https://dl.eff.org/certbot-auto
  2. # chmod 755 certbot-auto

四、Apache下配置Let's Encrypt

执行下条命令

  1. # ./certbot-auto --apache

根据提示操作

  1. /root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6
  2. DeprecationWarning
  3. Saving debug log to /var/log/letsencrypt/letsencrypt.log
  4. Enter email address (used for urgent renewal and security notices) (Enter 'c' to
  5. cancel):输入管理员邮箱
  6. -------------------------------------------------------------------------------
  7. Please read the Terms of Service at
  8. https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
  9. in order to register with the ACME server at
  10. https://acme-v01.api.letsencrypt.org/directory
  11. -------------------------------------------------------------------------------
  12. (A)gree/(C)ancel: A
  13. -------------------------------------------------------------------------------
  14. Would you be willing to share your email address with the Electronic Frontier
  15. Foundation, a founding partner of the Let's Encrypt project and the non-profit
  16. organization that develops Certbot? We'd like to send you email about EFF and
  17. our work to encrypt the web, protect its users and defend digital rights.
  18. -------------------------------------------------------------------------------
  19. (Y)es/(N)o: Y
  20. Which names would you like to activate HTTPS for?
  21. -------------------------------------------------------------------------------
  22. 1: www.xi-chuang.com
  23. -------------------------------------------------------------------------------
  24. Select the appropriate numbers separated by commas and/or spaces, or leave input
  25. blank to select all options shown (Enter 'c' to cancel):1
  26. Obtaining a new certificate

成功后,在/etc/letsencrypt/live/www.xi-chuang.com/下生成4个证书:

  1. cert.pem ->
  2. chain.pem ->
  3. fullchain.pem ->
  4. privkey.pem ->

五、打开防火墙iptables的443端口

  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
  2. #service iptables restart

六、编辑ssl.conf

vi /etc/httpd/conf.d/ssl.conf

  1. # General setup for the virtual host, inherited from global configuration
  2. DocumentRoot "/var/www/html/xi-chuang.com"
  3. ServerName www.xi-chuang.com:443
  4. .
  5. .
  6. .
  7. SSLCertificateFile /etc/letsencrypt/live/www.xi-chuang.com/fullchain.pem
  8. .
  9. .
  10. .
  11. SSLCertificateKeyFile /etc/letsencrypt/live/www.xi-chuang.com/privkey.pem
  12. .
  13. .
  14. .

service httpd restart

七、这个时候网站HTTPS已经能够访问了,试一下

最后,通过.htaccess进行301转向

  1. RewriteEngine On
  2. RewriteCond %{SERVER_PORT} 80
  3. RewriteRule ^(.*)$ https://www.xi-chuang.com/$1 [R=301,L]
  4. RewriteCond %{HTTP_HOST} !^www.xi-chuang.com$ [NC]
  5. RewriteRule ^(.*)$ https://www.xi-chuang.com/$1 [L,R=301]

八、大功告成

注意:Let'sEncrypt的证书有效期为90天,因此,建议使用cron作业在证书到期前一周将证书renew

在CentOS6,CentOS7安装 Let'sEncrypt 免费SSL安全证书的更多相关文章

  1. 去freessl.org申请免费ssl服务器证书

    去freessl.org申请免费ssl服务器证书 来源: 本文链接 来自osnosn的博客 写于: 2019-03-30. 想搞个自签名证书,可以参考这篇: 用openssl为WEB服务器生成证书(自 ...

  2. 申请安装阿里云免费SSL证书

    微信小程序已经全面要求使用HTTPS服务了,还有苹果商店也是,所以,实现网站HTTPS已经很有必要.要实现HTTPS就需要一个SSL证书,证书大部分都很贵,不过也有一些免费的证书服务供个人开发者使用. ...

  3. centos6 / centos7 安装apache

    =================centos6.1 安装apache===================== 安装: yum -y install httpd 启动 /etc/init.d/htt ...

  4. 免费 SSL 安全证书

    为了保证网上传输信息的安全而在自己的 Linode VPS 上部署 SSL 加密服务.商业 CA 较贵,所以使用了自己签发的 CA.网友神爱的留言提到了 StartSSL 的免费 CA,稍做了一些调查 ...

  5. 云栖社区> > 正文 永久免费SSL安全证书Letsencrypt安装使用方法

    ./letsencrypt-auto certonly --standalone --email admin@thing.com -d thing.com -d www.thing.com

  6. 【转】IIS - 自动申请、部署Let's Encrypt的免费SSL证书

    IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161   一.HTTPS 协议介绍 1,什么是 HTTP ...

  7. IIS - 自动申请、部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议)

    IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161   一.HTTPS 协议介绍 1,什么是 HTTP ...

  8. Let'sEncrypt 免费通配符/泛域名SSL证书添加使用教程

    Let'sEncrypt 免费通配符/泛域名SSL证书添加使用教程 通配符证书一般还是比较贵的一般最便宜的通配符证书5.60美元一年,只不过Let'sEncrypt的有效期是3个月,对于一般用户来说基 ...

  9. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

随机推荐

  1. P1009 阶乘之和 洛谷

    https://www.luogu.org/problem/show?pid=1009 题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=54321. ...

  2. 洛谷—— P3385 【模板】负环

    题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 ...

  3. PageUtil ,简单的分页工具

    public class PageUtil { private int totalCount;//总数 private int pageSize=10;//每页显示数量 private int cur ...

  4. Android开发之ListView实现不同品种分类分隔栏的效果(非ExpandableListView实现)

    我们有时候会遇到这么一个情况.就是我在一个ListView里面须要显示的东西事实上是有种类之分的.比方我要分冬天,夏天.秋天.春天,然后在这每一个季节以下再去载入各自的条目数据. 还有,比方我们的通讯 ...

  5. hdu 1799 (循环多少次?)(排列组合公式)

    循环多少次? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. 修改this指向(bind、call 和 apply)

    一.bind 首先: var alertWrite = document.write; alertWrite('who am I?'); 这两行代码的运行结果是什么呢?不要急着回答,看完下面的内容再回 ...

  7. 模块化开发(三)---通过node.js学习模块化开发

    由于改文章有点大,部分代码格式有点问题,编辑之后博客园莫名其妙推出,有问题可以留言沟通.   什么是Node? 它是一个在浏览器之外可以解析和执行javascript代码的运行环 境,或者说是一个运行 ...

  8. C++中stringstream ostringstream istringstream使用方式

    C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包括sstream.h头文件. istringstream类用于运行C++ ...

  9. IEC61131-3——数据类型

    1. 摘要 列出IEC61131-3支持的几种常用数据类型. 2. 内容 使用USB-CAN接口卡调试从站,SDO发送使用的功能码与字节的关系如下. 2f表示8位,2b表示16位,23表示32位数据. ...

  10. influxdb入门——和mongodb一样可以动态增加字段

    ./influxd [--config yourconfigfile 2> /dev/null]  之所以重定向 因为默认log是stderr 再启动客户端./influx > CREAT ...