前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >获取Let's Encrypt免费TLS/SSL证书的那点事儿

获取Let's Encrypt免费TLS/SSL证书的那点事儿

作者头像
用户1456517
发布2019-03-05 15:56:25
1.4K0
发布2019-03-05 15:56:25
举报
文章被收录于专栏:芝麻实验室芝麻实验室
Let's Encrypt是什么

Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。 -- 引自维基百科

为什么要使用Let's Encrypt

Let's Encrypt的目标是以最友好的方式免费为网站启用HTTPS(SSL / TLS)。因为ISRG想要创建一个更安全,更尊重隐私的Web。简单来说,使用HTTPSx协议,可以给你或你所在的企业以下好处:

  • 所有信息都是加密传播,第三方无法窃听;
  • 具有校验机制,一旦被篡改,通信双方会立刻发现;
  • 配备身份证书,防止身份被冒充。
如何使用Let's Encrypt

使用Let's Encrypt有多种方法,总体而言,分为2种,即:

  • 命令行获取签证
    • Cerbot (官方推荐)
    • 第三方贡献脚本
  • 通过第三方的合作服务商获取证书
    • 国内
      • 阿里云
      • 腾讯云
      • 七牛云
      • ...
    • 国外
      • SSLforFree
      • ...
以通过Cerbot命令行签证为例
  • 获取项目 $ git clone https://github.com/certbot/certbot.git
  • 配置Nginx的http server段,其作用使CA机构通过文件存在性检测来验证域名所有权,即身份认证,如果CA无法访问或无法被正确Proxy到该路径,下述签证操作将失败,并报404 location ^~ /.well-known/acme-challenge/ { #固定路径 root /usr/local/nginx/html; #webroot,可自定义,这里仅为示例,需要注意的是必须同certbot-auto的webroot参数路径一致 }
  • 开始签署证书 $ cd certbot $ ./certbot-auto certonly -d v3.hnsyun.com --webroot -w /usr/local/nginx/html #此处webroot必须和Ngingx实例的root相同;输完该行指令后,会提示你输入域名所有者信息,如实填写即可,以下是返回的信息 如实填写签署信息即可,此处略... IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/v3.hnsyun.com/fullchain.pem #生成的证书 Your key file has been saved at: /etc/letsencrypt/live/v3.hnsyun.com/privkey.pem #生成的密钥 Your cert will expire on 2018-10-29. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
  • 将获取的证书和密钥配置到Nginx的HTTPS配置段 server { listen 443 ssl; server_name www.XXX.com; ssl_certificate 证书路径 ssl_certificate_key 密钥路径 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://XXX; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/09/03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Let's Encrypt是什么
  • 为什么要使用Let's Encrypt
  • 如何使用Let's Encrypt
  • 以通过Cerbot命令行签证为例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档