欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
忘了密码?

扫一扫,访问微社区

快捷导航
搜索
查看: 10845|回复: 6

[经验分享] 如何在Nginx上部署 Let's Encrypt 证书

[复制链接]

43

主题

6

好友

5054

积分

超级版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

云币
4322
威望
5054
发表于 2015-12-19 21:59:02 |显示全部楼层 |未分类
Linux基金会宣布它将托管Let's Encrypt项目和互联网安全研究组(ISRG)。Let’s Encrypt CA项目由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,向网站自动签发和管理免费证书,加速将Web从HTTP过渡到HTTPS。ISRG则是开发Let’s Encrypt CA的非营利组织。

今天我来教大家在Nginx上部署Let's Encrypt证书
  • 下载Let's Encrypt客户端
    首先我们要安装git
  1. apt-get update
  2. apt-get -y install git
复制代码
然后,检出Let's Encrypt的客户端源码
  1. git clone https://github.com/letsencrypt/letsencrypt
复制代码
这样,我们就成功的下载了Let's Encrypt的客户端签发证书
首先,要先关掉我们的Nginx。使用命令关闭Nginx,不同环境方法不同,请参考你自己的环境配置说明
如果不确定,你可以使用
  1. netstat -na | grep ':80.*LISTEN'
复制代码
命令来检测,当返回值为空时,就说明没有程序在监听80端口
接下来,进入Let's Encrypt目录
  1. cd letsencrypt
复制代码
运行Standalone插件
  1. ./letsencrypt-auto certonly --standalone
复制代码
注意:Let's Encrypt需要超级用户权限来运行。如果你不是Root用户,可以使用sudo来运行
输入信息
在你运行插件后,Let's Encrypt会进入初始化阶段,这时,你要输入一些信息,用于生成证书
1.png

这个是输入邮箱,你可以填入自己的邮箱,这里填you@example.com
2.png

这个是让你看Let's Encrypt的TOS。无视,直接Agree
接下来,就要输入你自己的域名了
3.png

这里输入example.com 和www.example.com
用空格隔开
输入完按OK
如果你看到这样的文字,就说明生成了
  1. IMPORTANT NOTES:
  2. - Congratulations! Your certificate and chain have been saved at
  3.    /etc/letsencrypt/live/example.com/fullchain.pem. Your
  4.    cert will expire on 2016-03-19. To obtain a new version of the
  5.    certificate in the future, simply run Let's Encrypt again.
  6. - Your account credentials have been saved in your Let's Encrypt
  7.    configuration directory at /etc/letsencrypt. You should make a
  8.    secure backup of this folder now. This configuration directory will
  9.    also contain certificates and private keys obtained by Let's
  10.    Encrypt so making regular backups of this folder is ideal.
  11. - If like Let's Encrypt, please consider supporting our work by:

  12.    Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
  13.    Donating to EFF:                    https://eff.org/donate-le
复制代码
这段文字提示了证书的存放位置和过期日期
我的存放位置是 /etc/letsencrypt/live/example.com/fullchain.pem 在2016年3月19日过期
我们配置Nginx证书时的证书文件和密钥文件都在那个目录下。其中fullchain.pem包含了网站证书和根证书链
  • 配置Nginx
    修改我们的虚拟主机配置文件,在listen后面把80改成443,并加SSL,然后在下面加入我们的证书和密钥地址。

    1.         listen 443 ssl;
    2.         ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    3.         ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    4.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    5.         ssl_prefer_server_ciphers on;
    6.         ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    复制代码
    然后保存,退出,重启Nginx即可!
  • 35

    主题

    13

    好友

    7754

    积分

    资深攻城师[LV4]

    Rank: 4

    云币
    12238
    威望
    7754
    发表于 2015-12-19 22:00:50 |显示全部楼层
    感谢楼主分享!
    回复

    使用道具 举报

    16

    主题

    11

    好友

    3569

    积分

    版主

    Rank: 10Rank: 10Rank: 10Rank: 10

    云币
    3989
    威望
    3569
    发表于 2015-12-20 11:53:42 |显示全部楼层
    好贴享用一生,先收藏了,说不定以后就有用呢~
    回复

    使用道具 举报

    426

    主题

    85

    好友

    5488

    积分

    资深攻城师[LV4]

    Rank: 4

    云币
    1869
    威望
    5488
    发表于 2015-12-21 11:35:34 |显示全部楼层
    感谢分享 已转到技术精华区
    回复

    使用道具 举报

    2

    主题

    0

    好友

    54

    积分

    小白[LV1]

    Rank: 1

    云币
    16
    威望
    12
    发表于 2015-12-31 09:48:58 |显示全部楼层
    学习学习。。字数字数。
    回复

    使用道具 举报

    0

    主题

    0

    好友

    22

    积分

    小白[LV1]

    Rank: 1

    云币
    10
    威望
    10
    发表于 2017-2-15 22:10:00 来自手机 |显示全部楼层
    嘻嘻,好棒
    回复

    使用道具 举报

    0

    主题

    0

    好友

    30

    积分

    小白[LV1]

    Rank: 1

    云币
    120
    威望
    30
    发表于 2018-6-8 14:07:16 |显示全部楼层
    楼主 , 您好, 我在执行 ./letsencrypt-auto certonly --standalone 的时候 ,报错


    事务概要
    ========================================================================================================================================================================================================
    安装  7 软件包 (+22 依赖软件包)
    升级  3 软件包

    总计:13 M
    Downloading packages:
    Running transaction check
    Running transaction test


    Transaction check error:
      package openssl-1:1.0.2k-12.el7.x86_64 is already installed
      package augeas-libs-1.4.0-5.el7_5.1.x86_64 is already installed
      package ca-certificates-2018.2.22-70.0.el7_5.noarch is already installed

    错误概要
    -------------

    Could not install OS dependencies. Aborting bootstrap!

    该怎么处理呢 ? 谢谢啦.
    回复

    使用道具 举报

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

    联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

    GMT+8, 2018-11-20 09:02 , Processed in 1.148397 second(s), 33 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部