网格论坛

 找回密码
 立即注册
查看: 3632|回复: 3

楼主亲测 【免费 SSL证书】 Let’s Encrypt

[复制链接]

75

主题

160

帖子

2万

积分

总大队长

Rank: 9Rank: 9Rank: 9

积分
27469
发表于 2017-8-16 18:32:00 | 显示全部楼层 |阅读模式
先说结果: 生成证很简单挺方面 不但免费而且浏览器都认。挺好!


实践 我用的是 Debian8  Nginx  
Let’s Encrypt系统要求:官方文档上已经写出支持python2.6或2.7的操作系统上
需要使用Root账户安装,有写入文件/etc/letsencrypt, /var/log/letsencrypt, /var/lib/letsencrypt的权限,安装时需要使用80和443端口

cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件

配置nginx,需要生成dhparam.pem文件
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048


  1. cd /home (先去一个文件夹 个人习惯那个文件夹都行)
  2. apt-get install -y git-all    (安装git工具)
  3. git clone https://github.com/letsencrypt/letsencrypt     (搬数据到 你home目录下)
  4. cd letsencrypt   (进入搬上面数据下载回来的文件夹)
  5. ./letsencrypt-auto     (不要执行这里只是标记 )
  6. ./letsencrypt-auto --help (执行这个 先编辑之后看看 命令)


  7. 因为大家都是装ng的 所以用Webroot 命令生证书  

  8. ./letsencrypt-auto certonly --webroot --webroot-path /opt/share/www/OkGo_2015-02-02/@_okgo -d okgo.xyz --agree-tos --email huoban@xxx.com
  9. 这里注意下:/opt/share/www/OkGo_2015-02-02/@_okgo  是你绑定的域名的那个目录  后面是域名多个域名用空格  最后是邮件地址
  10. 之后到到下图
复制代码


-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n  问你收不是他们的邮件广告


QQ图片20170817175902.png

这是生成的证书路径
/etc/letsencrypt/live/okgo.xyz/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/okgo.xyz/privkey.pem
证书到期时间。
   Your cert will expire on 2017-11-15.

查看证书有效期 其中跟换okgo.xyz 为自己域名
openssl x509 -noout -dates -in /etc/letsencrypt/live/okgo.xyz/cert.pem


最后装载  nginx
# letsencrypt生成的文件
ssl_certificate /etc/letsencrypt/live/okgo.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/okgo.xyz/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparams.pem;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache    shared:SSL:20m;
ssl_session_timeout  60m;
ssl_ciphers  HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers  on;


QQ图片20170818135409.png
挺好的,可惜dz用不了。还得改造论坛
大概的步骤 太费劲了 不弄了。http://www.caogen8.co/t-22914-1-1.html




设置定时更新设置了每周一凌晨4点30自动更新证书ubuntu 计划任务路径
/var/spool/cron/crontabs/
查看当前计划
crontab -l
重新载入计划任务
/etc/init.d/cron reload

30 4 * * 1 sh /xxxx.sh

建立一个 sh文件(注意路径 /home换成自己装路径)

#! /bin/sh
cd /home/letsencrypt
./certbot-auto renew
/etc/init.d/apache2 restart



------------分割线 以下笔记草稿-------------------------








感谢各位群友 提供SSL证书申请地址。
也顺带感谢下 xuanlove提供  Let’s Encrypt 证书线索

引用
xuanlov 2017-8-16 17:31:18
@69伙伴 那个开源证书,是各大浏览器和安全公司联合推出的,信任度好

Let’s Encrypt官网
https://letsencrypt.org/

Let's Encrypt 验证方式

Let's Encrypt 使用两种方式对申请的域名进行验证:
1、 手动验证 按照提示在申请证书的服务器上使用一个指定的URL提供一个指定的文件内容来进行验证,进行手动验证的服务器IP地址会被 Let's Encrypt 服务端记录在案。
2、 自动验证 在 目标服务器 (指域名解析对应的IP地址的服务器,下同)上运行客户端,并启动一个 80 或 443 端口进行自动验证。包括独立模式和其他web sever验证模式
Let's Encrypt 使用不同的 Plugins 来进行证书的获取和安装
Manual
当你在非 目标服务器 上申请证书,或希望进行手动验证时,可以使用 manual 插件,运行命令:
$ ./letsencrypt-auto certonly --manual -d test.example.com


以上不用管了,就是一个签发流程

我用的是 Debian8
  1. cd /home (先去一个文件夹 个人习惯那个文件夹都行)
  2. git clone https://github.com/letsencrypt/letsencrypt

  3. 没有的话装个 apt-get install git-all
  4. 在执行 git clone https://github.com/letsencrypt/letsencrypt

  5. cd letsencrypt
  6. ./letsencrypt-auto     (进入自动安装)

  7. ./letsencrypt-auto --help   (查询帮助命令)
复制代码


当你在非 目标服务器 上申请证书,或希望进行手动验证时,可以使用 manual 插件,运行命令:
  1. ./letsencrypt-auto certonly --manual -d test.example.com
复制代码
QQ图片20170817150118.png


Standalone
使用独立模式进行自动验证,需要在 目标服务器 上运行 Let's Encrypt 客户端,并指定 certonly 和 --standalone参数。本模式需要绑定 80 或 443 端口进行域名验证,所以如果服务器上已有web server运行并侦听这2个端口,则需要先关闭web server。

Webroot
如果 目标服务器 已有web server运行,并且不能够关闭服务来获取和安装证书,可以使用 Webroot plugin。在运行 Let's Encrypt 客户端时指定 certonly 和 --webroot 参数,并使用 --webroot-path 或 -w 参数来指定 webroot 目录,比如 --webroot-path /usr/share/nginx/html

Apache
Apache plugin 可以用来为 Apache 2.4 服务器自动获取和安装证书,需要运行在基于 Debian 的操作系统上,并且要求1.0+以上版本的 libaugeas0。如需要运行 Apache plugin,在运行客户端时指定 --apache 参数。本 plugin 仍处在 Alpha 阶段。

Nginx
Nginx plugin 用于为 Nginx 服务器自动获取和安装证书,仍然处在实验阶段,并且 letsencrypt-auto 没有安装这个 plugin,如需使用,运行 pip install letsencrypt-nginx 进行安装后,通过 --nginx 参数调用 plugin。

证书位置
所有版本已申请的证书放在 /etc/letsencrypt/archive下,/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向 live 目录下的文件,以免证书更新后还需要更改配置。

每个域名一个目录,主要包含以下几个文件:
cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件


证书更新
Let's Encrypt 颁发的服务器证书有效期为90天,官方表示此为出于安全原因,降低错发证书,证书泄漏的危害。通过自动续期来解决有效期短的问题,官方建议每2个月更新证书。
如果到期没有更新证书,CA会向申请证书时提交的邮件地址发送提醒email。
自动续期可以使用 crontab 实现。注意更新证书后重启 web server !
申请频率限制
注册IP限制:每IP每3个小时不超过10次
域名数量限制:每个域名(包含子域名)每7天不超过5个

----------------实践------------------

第一个提示
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 输入自己的邮件回车

完了还有两个提示 说的什么无所谓就是注册协议
(A)gree/(C)ancel:a
(Y)es/(N)o: y


No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated)  (Enter 'c' to cancel):这里输入自己的域名 多个域名用空格分开

Apache2 才能自动配置,我没绑主机 就是域名指向ip
a1.png

a2.png

a3.png



a4.png


目测与谷歌同款sha256RSA  先回家。晚点在整理更新


配置Nginx

生成2048位 DH parameters:

openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048

接下来,修改 nginx 配置文件:

isten 443 ssl;

    server_name okgo.xyz;

    ssl_certificate /etc/letsencrypt/live/okgo.xyz/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/okgo.xyz/privkey.pem;

    ssl_dhparam /etc/ssl/certs/dhparams.pem;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

    ssl_prefer_server_ciphers  on;



server {

    listen 80;

    server_name www.okgo.xyz;

    return 301 https://$server_name$request_uri;

}












回复

使用道具 举报

2

主题

58

帖子

314

积分

中级会员

Rank: 3Rank: 3

积分
314
发表于 2017-8-16 23:20:14 | 显示全部楼层
学习一下,多谢分享
回复

使用道具 举报

1

主题

18

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2017-8-18 20:58:33 | 显示全部楼层
留爪子~
回复

使用道具 举报

0

主题

13

帖子

42

积分

新手上路

Rank: 1

积分
42
发表于 2019-9-23 05:34:58 | 显示全部楼层

楼主亲测 【免费 SSL证书】 Let’s Encrypt

I perhaps shall simply keep silent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

此版无人维护!极路由问题到群里喊(急修仙群)834378293

小黑屋|手机版|联系我们 ( 京ICP备16001788号 )

GMT+8, 2020-9-29 17:47 , Processed in 0.026365 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表