使用Let's Encrypt實(shí)現(xiàn)nginx網(wǎng)站https加密

介紹

Let's Encrypt是一個(gè)于2015年三季度推出的數(shù)字證書(shū)認(rèn)證機(jī)構(gòu)绒净,旨在以自動(dòng)化流程消除手動(dòng)創(chuàng)建和安裝證書(shū)的復(fù)雜流程,并推廣使萬(wàn)維網(wǎng)服務(wù)器的加密連接無(wú)所不在,為安全網(wǎng)站提供免費(fèi)的SSL/TLS證書(shū)。證書(shū)有90天的有效期软舌,適合個(gè)人使用或者臨時(shí)使用,不用再忍受自簽發(fā)證書(shū)不受瀏覽器信賴(lài)的提示牛曹。Certbot是一款易于使用的客戶(hù)端佛点,實(shí)現(xiàn)Web服務(wù)器自動(dòng)提取和部署SSL/TLS證書(shū)。

前提

  • Ubuntu 16.04操作系統(tǒng)黎比, sudo非root用戶(hù)權(quán)限
  • 已注冊(cè)并能成功解析的域名超营,此處以example.com為例子
  • 已為域名解析服務(wù)器設(shè)置如下DNS記錄
    • 一條example.com指向你服務(wù)器公網(wǎng)IP地址的A記錄
    • 一條www.example.com指向你服務(wù)器公網(wǎng)IP地址的A記錄
  • 已安裝Nginx

步驟一:安裝Certbot

首先,增加安裝庫(kù)阅虫。

$ sudo add-apt-repository ppa:certbot/certbot

回車(chē)接受演闭,然后更新軟件列表。

$ sudo apt-get update

最后颓帝,安裝Certbot米碰。

$ sudo apt-get install python-certbot-nginx

Certbot現(xiàn)在可以使用了窝革,不過(guò)你要先配置好Nginx。

步驟二:配置Nginx

Certbot在Nginx配置文件中找到server代碼塊后可以自動(dòng)配置SSL见间。如果你剛安裝Nginx聊闯,可以按照下面設(shè)置工猜,使用nano或任何你喜歡的編輯器打開(kāi)配置文件:

$ sudo nano /etc/nginx/sites-available/default

找到server_name那一行米诉,代替為如下內(nèi)容:

...
server_name example.com www.example.com;
...

保存退出,檢驗(yàn)有沒(méi)有語(yǔ)法錯(cuò)誤:

$ sudo nginx -t

如果語(yǔ)法無(wú)誤篷帅,加載Nginx的新配置:

$ sudo systemctl reload nginx

步驟三:獲得SSL證書(shū)
通過(guò)不同命令選項(xiàng)史侣,Certbot可以用不同的方法來(lái)獲得SSL證書(shū)。Certbot的Nginx插件將自動(dòng)配置Nginx并在有必要的時(shí)候自動(dòng)加載它:

$ sudo certbot --nginx -d example.com -d www.example.com

這個(gè)命令的--nginx選項(xiàng)指明加載nginx插件魏身,--d指明我們要認(rèn)證的域名惊橱。

如果你第一次運(yùn)行Certbot,會(huì)提示輸入郵件地址箭昵,接受服務(wù)協(xié)議税朴,之后,Certbot會(huì)與Let's Encrypt服務(wù)器連接家制,然后測(cè)試要認(rèn)證的域名是否在你的控制下正林。

如果以上過(guò)程運(yùn)行順利,Certbot接下來(lái)會(huì)詢(xún)問(wèn)是否把所有HTTP的訪問(wèn)轉(zhuǎn)向HTTPS颤殴。

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):

選擇后回車(chē)觅廓。配置會(huì)生成并更新,Nginx自動(dòng)加載新配置文件涵但。Certbot會(huì)提示你配置成功以及證書(shū)的存儲(chǔ)位置:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
   expire on 2017-10-23. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again with the
   "certonly" option. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

如果現(xiàn)在訪問(wèn)你的網(wǎng)站杈绸,你會(huì)發(fā)現(xiàn)瀏覽器地址欄左邊已經(jīng)有了個(gè)綠色鎖標(biāo)識(shí)符,表示你的網(wǎng)站是安全的矮瘟。

步驟四:自動(dòng)更新證書(shū)

Let's Encrypt's證書(shū)有效期只有90天瞳脓,看到許多網(wǎng)上的文章都在crontab中配置自動(dòng)更新證書(shū)任務(wù)。這次(2018年6月)在Ubuntu 16.04安裝Certbot(版本:0.22.2)澈侠,發(fā)現(xiàn)安裝后自動(dòng)創(chuàng)建了一個(gè)定時(shí)任務(wù)篡殷,位置在:/etc/cron.d/certbot

# /etc/cron.d/certbot: crontab entries for the certbot package
#
# Upstream recommends attempting renewal twice a day
#
# Eventually, this will be an opportunity to validate certificates
# haven't been revoked, etc.  Renewal will only occur if expiration
# is within 30 days.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew

部分內(nèi)容參考自這篇文章。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末埋涧,一起剝皮案震驚了整個(gè)濱河市板辽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棘催,老刑警劉巖劲弦,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異醇坝,居然都是意外死亡邑跪,警方通過(guò)查閱死者的電腦和手機(jī)次坡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)画畅,“玉大人砸琅,你說(shuō)我怎么就攤上這事≈狨猓” “怎么了症脂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)淫僻。 經(jīng)常有香客問(wèn)我诱篷,道長(zhǎng),這世上最難降的妖魔是什么雳灵? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任棕所,我火速辦了婚禮,結(jié)果婚禮上悯辙,老公的妹妹穿的比我還像新娘琳省。我一直安慰自己,他們只是感情好躲撰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布针贬。 她就那樣靜靜地躺著,像睡著了一般茴肥。 火紅的嫁衣襯著肌膚如雪坚踩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天瓤狐,我揣著相機(jī)與錄音瞬铸,去河邊找鬼。 笑死础锐,一個(gè)胖子當(dāng)著我的面吹牛嗓节,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皆警,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拦宣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了信姓?” 一聲冷哼從身側(cè)響起鸵隧,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎意推,沒(méi)想到半個(gè)月后豆瘫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡菊值,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年外驱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了育灸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昵宇,死狀恐怖磅崭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓦哎,我是刑警寧澤砸喻,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站杭煎,受9級(jí)特大地震影響恩够,放射性物質(zhì)發(fā)生泄漏卒落。R本人自食惡果不足惜羡铲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望儡毕。 院中可真熱鬧也切,春花似錦、人聲如沸腰湾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)费坊。三九已至倒槐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間附井,已是汗流浹背讨越。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留永毅,地道東北人把跨。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沼死,于是被迫代替她去往敵國(guó)和親着逐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • Let’s Encrypt是一套新型證書(shū)管理器(簡(jiǎn)稱(chēng)CA)意蛀,能夠輕松幫助用戶(hù)獲取并安裝免費(fèi)TLS/SSL證書(shū)耸别,并借...
    無(wú)人在線二代閱讀 931評(píng)論 0 0
  • 前段時(shí)間,看見(jiàn)很多大會(huì)都在分享全站HTTPS的經(jīng)驗(yàn)县钥。HTTPS固然好秀姐,前提是SSL證書(shū),并且簽發(fā)證書(shū)的機(jī)構(gòu)要靠譜魁蒜。...
    人世間閱讀 6,013評(píng)論 0 5
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理囊扳,服務(wù)發(fā)現(xiàn)吩翻,斷路器,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • let's encrypt基礎(chǔ)知識(shí) let's encrypt是一個(gè)認(rèn)證機(jī)構(gòu)(Certificate Author...
    吳關(guān)山閱讀 9,359評(píng)論 0 6
  • 本學(xué)期師生共讀的第四本書(shū)是中國(guó)作家曹文軒的《草房子》锥咸。 這節(jié)課我先帶著孩子們一起回顧了本學(xué)期我們一起讀的幾本書(shū)狭瞎,當(dāng)...
    莒縣357李秀琴閱讀 807評(píng)論 0 1