[千金軟文] 使用LETSENCRYPT可節(jié)省4000元/年的HTTPS認(rèn)證費(fèi)斯棒,申請(qǐng)教程

一、前言

隨著全民互聯(lián)網(wǎng)安全意識(shí)的增強(qiáng)主经,由于HTTPS具有比HTTP更高網(wǎng)絡(luò)安全等級(jí)荣暮,HTTPS開(kāi)始迅速普及。但是HTTPS的證書(shū)每年的認(rèn)證費(fèi)需要近千元旨怠,除非是由于不可抗拒的原因渠驼,必須升級(jí)到HTTPS,否則一般選擇繼續(xù)使用HTTP鉴腻。高額的認(rèn)證費(fèi)阻礙HTTPS快速推廣應(yīng)用迷扇,于是let's encrypt一個(gè)開(kāi)源的HTTPS證書(shū)授權(quán)應(yīng)運(yùn)而生,給大家提供了優(yōu)質(zhì)的免費(fèi)的自動(dòng)化認(rèn)證服務(wù)爽哎。

我在配置let's encrypt的路上遇到了不少的困難蜓席,走了很多的彎路,浪費(fèi)了不少時(shí)間课锌。所以將其總結(jié)下來(lái)進(jìn)行分享厨内。根據(jù)我分享的經(jīng)驗(yàn)進(jìn)行多部署幾次的話,平均獲取一個(gè)HTTPS證書(shū)只需要10分鐘左右渺贤。

使用的官網(wǎng)推薦自動(dòng)部署工具certbot雏胃,支持自動(dòng)部署的軟件,系統(tǒng)環(huán)境分別如下:

支持的軟件

apache
nginx
haproxy
plesk
等等(詳情請(qǐng)查看certbot官網(wǎng))

支持的系統(tǒng)

Web Hosting Service
Debian
Ubuntu
Gentoo
Arch Linux
Fedora 26+
CentOS
RHEL
FreeBSD
OpenBSD
macOS
Devuan
等等(詳情請(qǐng)查看certbot官網(wǎng))

官網(wǎng)鏈接

  1. let'sEncrypt官網(wǎng)
  2. Certbot官網(wǎng)

下面是我在CENTOS6志鞍、NGINX部署Certbot的經(jīng)驗(yàn)分享瞭亮。如果系統(tǒng)和軟件不同,也可以作為一個(gè)解決問(wèn)題的思路固棚,以供參考统翩。

二、環(huán)境

  1. Centos6
  2. Centos6 已經(jīng)安裝了OpenSSL library
  3. Nginx 已集成 ssl模塊
  4. 你已經(jīng)有了一點(diǎn)遠(yuǎn)程操作Linux的入門知識(shí)和實(shí)操經(jīng)驗(yàn)

三此洲、步驟

注意:重要厂汗,請(qǐng)閱讀完(三、步驟)和(四呜师、難點(diǎn))后再進(jìn)行操作

步驟一: ssh以root用戶登陸centos6服務(wù)器

// 打開(kāi)終端輸入
# ssh root@服務(wù)器IP

步驟二: 分別執(zhí)行如下命令

// 進(jìn)入root目錄(可定義)
# cd ~

// 下載certbot腳本
# wget https://dl.eff.org/certbot-auto

// 給certbot添加可執(zhí)行權(quán)限
# chmod a+x certbot-auto

// 運(yùn)行certbot腳本
# sudo ~/certbot-auto --nginx

步驟三: 運(yùn)行certbot后娶桦,正常的情況一路會(huì)出現(xiàn)如下的選項(xiàng)

是否需要安裝python34?輸入`Y`回車

輸入一個(gè)郵箱用于接受證書(shū)到期更新通知:填寫(xiě)自己可用的郵箱,例如:`xxx@163.com`

是否同意lets encrypt的協(xié)議衷畦?輸入`A`回車

是否接收他們的新聞氮双,通過(guò)這種方式支持他們?輸入`Y`回車

輸入要支持HTTPS的域名霎匈,空格分開(kāi):填寫(xiě)已指向并可用的域名,
多個(gè)域名用`半角空格`分開(kāi)送爸,例如:`www.bbwhm.com kunshan.bbwhm.com`

是否HTTP自動(dòng)跳轉(zhuǎn)到HTTPS铛嘱?選擇`n`的場(chǎng)合,該網(wǎng)站同時(shí)支持`http`和`https`袭厂,
選擇`Y`的場(chǎng)合墨吓,該網(wǎng)站只支持`https`網(wǎng)站,所有`http`請(qǐng)求自動(dòng)跳轉(zhuǎn)為`https`纹磺,
我的選擇是`Y`回車

步驟四:結(jié)果確認(rèn)

生成成功帖烘,建議備份`/etc/letsencrypt`,直接訪問(wèn)`https://你的域名`橄杨,
查看結(jié)果秘症,網(wǎng)站前多了一個(gè)鎖,表示成功式矫。

四乡摹、難點(diǎn)

難點(diǎn)1:python鏡像配置錯(cuò)誤

描述:一臺(tái)阿里云服務(wù)器,centos6系統(tǒng)已經(jīng)默認(rèn)安裝了python2.6采转,是否需要自動(dòng)安裝python34聪廉?就算選擇自動(dòng)安裝了python34,運(yùn)行仍然失敗故慈,為什么?

解答:certbot需要安裝python34,并自動(dòng)安裝瓣铣,只要選擇Yes即可术辐。運(yùn)行仍然失敗的原因是,阿里云服務(wù)器的系統(tǒng)克婶,有個(gè)配置文件默認(rèn)指向阿里云鏡像導(dǎo)致的筒严,只要修為清華鏡像即可。

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

難點(diǎn)2:nginx的配置路徑不滿足certbot要求

描述:nginx不是通過(guò)yum install nginx安裝情萤,是自己編譯安裝的鸭蛙,有些配置不滿足certbot的要求

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

/usr/bin/nginx
/etc/nginx

操作方法,假設(shè)你的nginx位于/usr/local/nginx,你需要執(zhí)行下面的兩個(gè)命令,創(chuàng)建快捷方式軟連接過(guò)去即可筋岛。

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

難點(diǎn)3:nginx缺少ssl模塊

描述:提示nginx沒(méi)有添加ssl模塊

解答:可以通過(guò)nginx -V娶视,查看是否有ssl模塊。由于nginx是自己從官網(wǎng)下載的源碼手動(dòng)編譯的,當(dāng)時(shí)沒(méi)有添加ssl參數(shù)肪获。只需要nginx重新編譯添加ssl模塊即可寝凌。

// 從nginx官網(wǎng)下載和已安裝的同版本的源文件(我的是1.12.2)
# cd ~

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

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

// 進(jìn)入
# cd nginx-1.12.2

// 配置(請(qǐng)根據(jù)實(shí)際情況、添加或減少模塊孝赫。--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

// 關(guān)閉nginx服務(wù)
# /usr/local/nginx/sbin/nginx -s stop

// 啟動(dòng)nginx服務(wù)
# /usr/local/nginx/sbin/nginx

// 確認(rèn)結(jié)果(是否包含ssl)
# /usr/local/nginx/sbin/nginx -V

難點(diǎn)4:443端口未開(kāi)放

描述:certbot提示已經(jīng)成功部署较木,但是通過(guò)https//域名,仍然無(wú)法訪問(wèn)

解答:由于使用了阿里云服務(wù)器青柄,開(kāi)放端口的控制需要在阿里云控制臺(tái)里面進(jìn)行設(shè)置伐债,啟用443端口即可。

難點(diǎn)5:域名未綁定

描述:certbot配置https域名的時(shí)候提示域名指向檢測(cè)失敗致开,例如:kunshan.bbwhm.com 沒(méi)有找到

解答:在域名服務(wù)商管理后臺(tái)中峰锁,將 kunshan.bbwhm.com 指向這臺(tái)服務(wù)器的IP,然后在Centos6中双戳,重新運(yùn)行sudo ~/certbot-auto --nginx 這樣就直接進(jìn)入最后一步了虹蒋,跳過(guò)了前面很多的步驟。(最好提前就將所有的域名都指向好飒货,測(cè)試沒(méi)有問(wèn)題的時(shí)候魄衅,再繼續(xù)操作)

難點(diǎn)6:續(xù)期

描述:證書(shū)有效期只有3個(gè)月,到期了怎么辦塘辅?

解答:方案一徐绑、可以在到期前1個(gè)月,手動(dòng)執(zhí)行如下命令即可刷新證書(shū)莫辨,再次獲取3個(gè)月的有效期傲茄;

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

方案二、也可以通過(guò)定時(shí)任務(wù)沮榜,命令如下:

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

或者

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

最近c(diǎn)erbot-auto升級(jí)到了letsencrypt-auto.sh盘榨,當(dāng)前我的服務(wù)器定時(shí)任務(wù)配置為

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

附錄

certbot在centos6的上配置整個(gè)順利的配置流程輸出如下,僅供參考蟆融。大體流程如下

[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 ~]#

若本文幫您節(jié)省了時(shí)間和金錢草巡,請(qǐng)不吝贊賞。若本文有不足之處型酥,請(qǐng)不吝賜教山憨。謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弥喉,一起剝皮案震驚了整個(gè)濱河市郁竟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌由境,老刑警劉巖棚亩,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓖议,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡讥蟆,警方通過(guò)查閱死者的電腦和手機(jī)勒虾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瘸彤,“玉大人修然,你說(shuō)我怎么就攤上這事≈士觯” “怎么了低零?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拯杠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)啃奴,這世上最難降的妖魔是什么潭陪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮最蕾,結(jié)果婚禮上依溯,老公的妹妹穿的比我還像新娘。我一直安慰自己瘟则,他們只是感情好黎炉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著醋拧,像睡著了一般慷嗜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丹壕,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天庆械,我揣著相機(jī)與錄音,去河邊找鬼菌赖。 笑死缭乘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琉用。 我是一名探鬼主播堕绩,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼邑时!你這毒婦竟也來(lái)了奴紧?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晶丘,失蹤者是張志新(化名)和其女友劉穎绰寞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滤钱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年觉壶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片件缸。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铜靶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出他炊,到底是詐尸還是另有隱情争剿,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布痊末,位于F島的核電站蚕苇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏凿叠。R本人自食惡果不足惜涩笤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盒件。 院中可真熱鬧蹬碧,春花似錦、人聲如沸炒刁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翔始。三九已至罗心,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間城瞎,已是汗流浹背协屡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留全谤,地道東北人肤晓。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像认然,于是被迫代替她去往敵國(guó)和親补憾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 前段時(shí)間卷员,看見(jiàn)很多大會(huì)都在分享全站HTTPS的經(jīng)驗(yàn)盈匾。HTTPS固然好,前提是SSL證書(shū)毕骡,并且簽發(fā)證書(shū)的機(jī)構(gòu)要靠譜削饵。...
    人世間閱讀 6,010評(píng)論 0 5
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理岩瘦,服務(wù)發(fā)現(xiàn),斷路器窿撬,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • WWDC 16 中启昧,Apple 表示將繼續(xù)在 iOS 10 和 macOS 10.12 里收緊對(duì)普通 HTTP 的...
    小如99閱讀 6,159評(píng)論 0 25
  • 介紹 Let's Encrypt是一個(gè)于2015年三季度推出的數(shù)字證書(shū)認(rèn)證機(jī)構(gòu),旨在以自動(dòng)化流程消除手動(dòng)創(chuàng)建和安裝...
    fanzhh閱讀 1,070評(píng)論 0 0
  • 寫(xiě)在文前:洛洛莉ya鼓勵(lì)我來(lái)簡(jiǎn)書(shū)寫(xiě)文字劈伴,這是我第一次來(lái)簡(jiǎn)書(shū)密末,很忐忑也很美好,更多是期待跛璧。 生命來(lái)來(lái)往往严里,來(lái)日并不方...
    張不丟閱讀 1,492評(píng)論 20 53