[千金软文] 使用LETSENCRYPT可节省4000元/年的HTTPS认证费,申请教程

一、前言

随着全民互联网安全意识的增强,由于HTTPS具有比HTTP更高网络安全等级,HTTPS开始迅速普及。但是HTTPS的证书每年的认证费需要近千元,除非是由于不可抗拒的原因,必须升级到HTTPS,否则一般选择继续使用HTTP。高额的认证费阻碍HTTPS快速推广应用,于是let's encrypt一个开源的HTTPS证书授权应运而生,给大家提供了优质的免费的自动化认证服务。

我在配置let's encrypt的路上遇到了不少的困难,走了很多的弯路,浪费了不少时间。所以将其总结下来进行分享。根据我分享的经验进行多部署几次的话,平均获取一个HTTPS证书只需要10分钟左右。

使用的官网推荐自动部署工具certbot,支持自动部署的软件,系统环境分别如下:

支持的软件

apache
nginx
haproxy
plesk
等等(详情请查看certbot官网)

支持的系统

Web Hosting Service
Debian
Ubuntu
Gentoo
Arch Linux
Fedora 26+
CentOS
RHEL
FreeBSD
OpenBSD
macOS
Devuan
等等(详情请查看certbot官网)

官网链接

  1. let'sEncrypt官网
  2. Certbot官网

下面是我在CENTOS6NGINX部署Certbot的经验分享。如果系统和软件不同,也可以作为一个解决问题的思路,以供参考。

二、环境

  1. Centos6
  2. Centos6 已经安装了OpenSSL library
  3. Nginx 已集成 ssl模块
  4. 你已经有了一点远程操作Linux的入门知识和实操经验

三、步骤

注意:重要,请阅读完(三、步骤)和(四、难点)后再进行操作

步骤一: ssh以root用户登陆centos6服务器

// 打开终端输入
# ssh root@服务器IP

步骤二: 分别执行如下命令

// 进入root目录(可定义)
# cd ~

// 下载certbot脚本
# wget https://dl.eff.org/certbot-auto

// 给certbot添加可执行权限
# chmod a+x certbot-auto

// 运行certbot脚本
# sudo ~/certbot-auto --nginx

步骤三: 运行certbot后,正常的情况一路会出现如下的选项

是否需要安装python34?输入`Y`回车

输入一个邮箱用于接受证书到期更新通知:填写自己可用的邮箱,例如:`xxx@163.com`

是否同意lets encrypt的协议?输入`A`回车

是否接收他们的新闻,通过这种方式支持他们?输入`Y`回车

输入要支持HTTPS的域名,空格分开:填写已指向并可用的域名,
多个域名用`半角空格`分开,例如:`www.bbwhm.com kunshan.bbwhm.com`

是否HTTP自动跳转到HTTPS?选择`n`的场合,该网站同时支持`http`和`https`,
选择`Y`的场合,该网站只支持`https`网站,所有`http`请求自动跳转为`https`,
我的选择是`Y`回车

步骤四:结果确认

生成成功,建议备份`/etc/letsencrypt`,直接访问`https://你的域名`,
查看结果,网站前多了一个锁,表示成功。

四、难点

难点1:python镜像配置错误

描述:一台阿里云服务器,centos6系统已经默认安装了python2.6,是否需要自动安装python34?就算选择自动安装了python34,运行仍然失败,为什么?

解答:certbot需要安装python34,并自动安装,只要选择Yes即可。运行仍然失败的原因是,阿里云服务器的系统,有个配置文件默认指向阿里云镜像导致的,只要修为清华镜像即可。

vi ~/.pip/pip.config

修改前

[global]
index-url=http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

修改后

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple

难点2:nginx的配置路径不满足certbot要求

描述:nginx不是通过yum install nginx安装,是自己编译安装的,有些配置不满足certbot的要求

解答:certbot要求必须存在如下的文件和目录

/usr/bin/nginx
/etc/nginx

操作方法,假设你的nginx位于/usr/local/nginx,你需要执行下面的两个命令,创建快捷方式软连接过去即可。

# ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# ln -s /usr/local/nginx/conf /etc/nginx

难点3:nginx缺少ssl模块

描述:提示nginx没有添加ssl模块

解答:可以通过nginx -V,查看是否有ssl模块。由于nginx是自己从官网下载的源码手动编译的,当时没有添加ssl参数。只需要nginx重新编译添加ssl模块即可。

// 从nginx官网下载和已安装的同版本的源文件(我的是1.12.2)
# cd ~

// 下载
# wget http://nginx.org/download/nginx-1.12.2.tar.gz

// 解压
# tar -xzvf nginx-1.12.2.tar.gz

// 进入
# cd nginx-1.12.2

// 配置(请根据实际情况、添加或减少模块。--with-http_ssl_module 必须)
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module

// 编译
# make

// 备份之前的文件
# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

// 覆盖替换
# cp objs/nginx /usr/local/nginx/sbin/nginx

// 关闭nginx服务
# /usr/local/nginx/sbin/nginx -s stop

// 启动nginx服务
# /usr/local/nginx/sbin/nginx

// 确认结果(是否包含ssl)
# /usr/local/nginx/sbin/nginx -V

难点4:443端口未开放

描述:certbot提示已经成功部署,但是通过https//域名,仍然无法访问

解答:由于使用了阿里云服务器,开放端口的控制需要在阿里云控制台里面进行设置,启用443端口即可。

难点5:域名未绑定

描述:certbot配置https域名的时候提示域名指向检测失败,例如:kunshan.bbwhm.com 没有找到

解答:在域名服务商管理后台中,将 kunshan.bbwhm.com 指向这台服务器的IP,然后在Centos6中,重新运行sudo ~/certbot-auto --nginx 这样就直接进入最后一步了,跳过了前面很多的步骤。(最好提前就将所有的域名都指向好,测试没有问题的时候,再继续操作)

难点6:续期

描述:证书有效期只有3个月,到期了怎么办?

解答:方案一、可以在到期前1个月,手动执行如下命令即可刷新证书,再次获取3个月的有效期;

# sudo ~/certbot-auto renew --dry-run

方案二、也可以通过定时任务,命令如下:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && ~/certbot-auto renew

或者

0 0 * * * /root/certbot-auto renew

最近cerbot-auto升级到了letsencrypt-auto.sh,当前我的服务器定时任务配置为

0 0 * * * /root/letsencrypt-auto.sh renew

附录

certbot在centos6的上配置整个顺利的配置流程输出如下,仅供参考。大体流程如下

[root@CENTOS6 ~]# cd ~
[root@CENTOS6 ~]# wget https://dl.eff.org/certbot-auto
[root@CENTOS6 ~]# sudo ./certbot-auto --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx

Which names would you like to activate HTTPS for?
----------------------------
1: www.bbwhm.com
2: kunshan.bbwhm.com
----------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): www.bbwhm.com kunshan.bbwhm.com

----------------------------
requested (ref: /etc/letsencrypt/renewal/www.bbwhm.com.conf)

It contains these names: www.bbwhm.com, kunshan.bbwhm.com

You requested these names for the new certificate: www.bbwhm.com,
kunshan.bbwhm.com

Do you want to expand and replace this existing certificate with the new
certificate?
----------------------------
(E)xpand/(C)ancel: E
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.bbwhm.com
http-01 challenge for kunshan.bbwhm.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/vhost/www.bbwhm.com.conf
Deploying Certificate to VirtualHost /etc/nginx/vhost/kunshan.bbwhm.com.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
----------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
----------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

----------------------------
Your existing certificate has been successfully renewed, and the new certificate
has been installed.

The new certificate covers the following domains: https://www.bbwhm.com,
https://kunshan.bbwhm.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=www.bbwhm.com
https://www.ssllabs.com/ssltest/analyze.html?d=kunshan.bbwhm.com
----------------------------

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/www.bbwhm.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/www.bbwhm.com/privkey.pem
   Your cert will expire on 2018-08-27. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. 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

[root@CENTOS6 ~]#

若本文帮您节省了时间和金钱,请不吝赞赏。若本文有不足之处,请不吝赐教。谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容