在nginx 使用Let’s Encrypt 免費(fèi)的SSL/TLS 證書

謝權(quán)2016年2月22日Program6 Comments

Let’s Encrypt是一個(gè)將于2015年末推出的數(shù)字證書認(rèn)證機(jī)構(gòu)垢夹,將通過旨在消除當(dāng)前手動(dòng)創(chuàng)建和安裝證書的復(fù)雜過程的自動(dòng)化流程惹想,為安全網(wǎng)站提供免費(fèi)的SSL/TLS證書张惹。[1][2]

Let’s Encrypt 是由互聯(lián)網(wǎng)安全研究小組(ISRG,一個(gè)公益組織)提供的服務(wù)本姥。主要贊助商包括電子前哨基金會(huì)绽快,Mozilla基金會(huì)形病,Akamai以及思科。2015年4月9日蛾找,ISRG與Linux基金會(huì)宣布合作娩脾。

用以實(shí)現(xiàn)這一新的數(shù)字證書認(rèn)證機(jī)構(gòu)的協(xié)議被稱為自動(dòng)證書管理環(huán)境(ACME)。GitHub上有這一規(guī)范的草案打毛,且提案的一個(gè)版本已作為一個(gè)Internet草案發(fā)布柿赊。

Let’s Encrypt 宣稱這一過程將十分簡(jiǎn)單、自動(dòng)化并且免費(fèi)幻枉。

2015年8月7日碰声,該服務(wù)更新其推出計(jì)劃,預(yù)計(jì)將在2015年9月7日當(dāng)周某時(shí)發(fā)布首個(gè)證書熬甫,隨后向列入白名單的域名發(fā)行少量證書并逐漸擴(kuò)大發(fā)行胰挑。若一切按計(jì)劃進(jìn)行,該服務(wù)預(yù)計(jì)將在2015年11月16日當(dāng)周某時(shí)全面開始提供。

首先下載Let’s Encrypt Client

$sudoapt-getupdate

$sudoapt-getinstall-ygit

$sudogitclonehttps://github.com/letsencrypt/letsencrypt /opt/letsencrypt

$cd/opt/letsencrypt

$sudo./letsencrypt-auto

為L(zhǎng)et’s Encrypt Temporary File創(chuàng)建一個(gè)模板

我們?cè)?b>webroot-path/.well-known/acme-challenge/通過Let’s Encrypt client創(chuàng)建一個(gè)臨時(shí)文件包含了使用Encrypt server驗(yàn)證你域名去獲得驗(yàn)證的token 瞻颂。webroot?path在我們接下來的示例中代表/var/www/letsencrypt

我們通過這個(gè)GitHub Gist創(chuàng)建一個(gè)模板文件包含Let’s Encryp需要發(fā)出的證書脚粟,不使用模板的話我們可以通過Let’s Encrypt 命令行來設(shè)置參數(shù)。

1.創(chuàng)建Let’s Encrypt保存臨時(shí)文件的目錄和指定需要的權(quán)限:

$cd/var/www

$mkdirletsencrypt

$sudochgroupwww-dataletsencrypt

2.創(chuàng)建/etc/letsencrypt/configs/my-domain.conf文件蘸朋,my?domain是你需要實(shí)現(xiàn)https的域名拷貝Gist里面的內(nèi)容核无,然后為domains,rsa-key-size藕坯,server和email這幾個(gè)字段指定合適的值

# the domain we want to get the cert for;

# technically it's possible to have multiple of this lines, but it only worked

# with one domain for me, another one only got one cert, so I would recommend

# separate config files per domain.

domains=my-domain

# increase key size

rsa-key-size=2048# Or 4096

# the current closed beta (as of 2015-Nov-07) is using this server

server=https://acme-v01.api.letsencrypt.org/directory

# this address will receive renewal reminders

email=my-email

# turn off the ncurses UI, we want this to be run as a cronjob

text=True

# authenticate by placing a file in the webroot (under .well-known/acme-challenge/)

# and then letting LE fetch it

authenticator=webroot

webroot-path=/var/www/letsencrypt/

讓Let’s Encrypt去訪問臨時(shí)文件

1.在Nginx 中配置一個(gè)虛擬server

server{

listen80default_server;

server_namemy-domain;

location/.well-known/acme-challenge{

root/var/www/letsencrypt;

}

...

}

2.驗(yàn)證配置文件然后重新啟動(dòng)Nginx

$sudonginx-t&&sudonginx-sreload

請(qǐng)求證書

通過上面的步驟我們?nèi)f事俱備了团南,我們可以請(qǐng)求證書了。

$cd/opt/letsencrypt

$./letsencrypt-auto--config/etc/letsencrypt/configs/my-domain.confcertonly

Updatingletsencryptandvirtualenvironmentdependencies......

Requestingrootprivilegestorunwithvirtualenv:/root/.local/share/letsencrypt/bin/letsencrypt--config/etc/letsencrypt/configs/my-domain.confcertonly

IMPORTANTNOTES:

-Congratulations!Yourcertificateandchainhavebeensavedat

/etc/letsencrypt/live/my-domain/fullchain.pem.Yourcert

willexpireondate.Toobtainanewversionofthe

certificateinthefuture,simplyrunLet'sEncryptagain.

Nginx加載證書

1.在Nginx的配置文件中添加下面內(nèi)容(這里默認(rèn)你是會(huì)配置Nginx)

server{

listen443ssldefault_server;

server_namemy-domain;

ssl_certificate/etc/letsencrypt/live/my-domain/fullchain.pem;

ssl_certificate_key/etc/letsencrypt/live/my-domain/privkey.pem;

...

}

2.重新啟動(dòng)Nginx炼彪,Nginx每修改一次配置文件都需要通過重啟加載新的配置

1

$sudonginx-t&&sudonginx-sreload

自動(dòng)申請(qǐng)Let’s Encrypt Certificates的有效期

Let’s Encrypt certificates的免費(fèi)使用時(shí)間只有90天吐根,時(shí)間到了之后我們就需要重新續(xù)簽就像簽證一樣》恚可能你會(huì)忘記拷橘。然而我們可以通過cron 這個(gè)程序來幫助我們完成自動(dòng)操作

1.我們可以創(chuàng)建一個(gè)shell 腳本

#!/bin/sh

cd/opt/letsencrypt/

./letsencrypt-auto--config/etc/letsencrypt/configs/my-domain.confcertonly

if[$?-ne0]

then

ERRORLOG=`tail/var/log/letsencrypt/letsencrypt.log`

echo-e"The Let's Encrypt cert has not been renewed! \n \n"\

$ERRORLOG

else

nginx-sreload

fi

exit0

2.創(chuàng)建一個(gè)/var/log/letsencrypt/目錄

3.運(yùn)行crontab-e 讓我們寫的腳本程序每2個(gè)月執(zhí)行一次

001JAN,MAR,MAY,JUL,SEP,NOV */path/to/renew-letsencrypt.sh

Nginx官方教程:https://www.nginx.com/blog/free-certificates-lets-encrypt-and-nginx/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市喜爷,隨后出現(xiàn)的幾起案子冗疮,更是在濱河造成了極大的恐慌,老刑警劉巖檩帐,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件术幔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡湃密,警方通過查閱死者的電腦和手機(jī)诅挑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泛源,“玉大人拔妥,你說我怎么就攤上這事〈锕浚” “怎么了没龙?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)幻梯。 經(jīng)常有香客問我兜畸,道長(zhǎng),這世上最難降的妖魔是什么碘梢? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任咬摇,我火速辦了婚禮,結(jié)果婚禮上煞躬,老公的妹妹穿的比我還像新娘肛鹏。我一直安慰自己逸邦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布在扰。 她就那樣靜靜地躺著缕减,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芒珠。 梳的紋絲不亂的頭發(fā)上桥狡,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音皱卓,去河邊找鬼裹芝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛娜汁,可吹牛的內(nèi)容都是我干的嫂易。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掐禁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼怜械!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起傅事,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤缕允,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后享完,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灼芭,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡有额,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年般又,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巍佑。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茴迁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萤衰,到底是詐尸還是另有隱情堕义,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布脆栋,位于F島的核電站倦卖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏椿争。R本人自食惡果不足惜怕膛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秦踪。 院中可真熱鬧褐捻,春花似錦掸茅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至板壮,卻和暖如春逗鸣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绰精。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工慕购, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茬底。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓沪悲,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親阱表。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殿如,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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