通過acme.sh自動(dòng)部署UniFi Controller ssl證書

寫在前面:

使用UniFi Controller 默認(rèn)是通過https://IP:8443 進(jìn)行登錄的,但是在這種情況下由于沒有證書導(dǎo)致chrome在進(jìn)行訪問的時(shí)候總是會(huì)有警告篙骡。如何部署ssl證書是作為強(qiáng)迫癥的人必須解決的問題萌焰。對(duì)于這個(gè)問題有很多的解決辦法矾柜,免費(fèi)而方便的就是通過acme.sh自動(dòng)部署Let’s Encrypt 證書鲤竹。這里提出的解決方案能夠自動(dòng)的申請(qǐng)證書并完成證書的導(dǎo)入睡扬。

LET'S GO


前期的準(zhǔn)備工作

  • 安裝acme.sh
curl https://get.acme.sh | sh

很方便比吭,就一行命令就可以完成下載和安裝,同時(shí)還能夠安裝一個(gè)自動(dòng)化命令严肪。由于Let’s Encrypt 申請(qǐng)的證書盡管是免費(fèi)的史煎,但是最長只有90天的有效期,這個(gè)命令將會(huì)在證書到期前自動(dòng)的進(jìn)行再次申請(qǐng)驳糯。完成安裝之后最好重新連接一下ssh終端篇梭。如果需要可以通過命令獲得證書更新的郵件提醒。

acme.sh --upgrade --auto-upgrade --accountemail "mynotifaction@email.com"
  • 擁有一個(gè)自己的域名酝枢,acme.sh支持大部分的域名服務(wù)商恬偷,可以在這里進(jìn)行 DNS providers 具體的查詢。

創(chuàng)建一個(gè)post-hook file用于自動(dòng)的備份原有證書和部署新的證書

創(chuàng)建這個(gè)文件/root/.acme.sh/cloudkey-renew-hook.sh帘睦,以下代碼完全不用做任何修改

#!/bin/bash
# Renew-hook for ACME / Let's encrypt
echo "** Configuring new Let's Encrypt certs"
cd /etc/ssl/private
rm -f /etc/ssl/private/cert.tar /etc/ssl/private/unifi.keystore.jks /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/fullchain.pem

openssl pkcs12 -export -in /etc/ssl/private/cloudkey.crt -inkey /etc/ssl/private/cloudkey.key -out /etc/ssl/private/cloudkey.p12 -name unifi -password pass:aircontrolenterprise

keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /usr/lib/unifi/data/keystore -srckeystore /etc/ssl/private/cloudkey.p12 -srcstoretype PKCS12 -srcstorepass aircontrolenterprise -alias unifi

rm -f /etc/ssl/private/cloudkey.p12
tar -cvf cert.tar *
chown root:ssl-cert /etc/ssl/private/*
chmod 640 /etc/ssl/private/*

echo "** Testing Nginx and restarting"
/usr/sbin/nginx -t
/etc/init.d/nginx restart ; /etc/init.d/unifi restart

在DNS服務(wù)商那邊獲得證書申請(qǐng)所需要的DNS API

具體怎么申請(qǐng)請(qǐng)查看DNS官方網(wǎng)站喉磁,acme.sh支持多個(gè)DNS服務(wù)商的API完成證書申請(qǐng)工作,不同的服務(wù)商申請(qǐng)證書的方式不同官脓。我用的是namesilo协怒,這一部分的命令僅針對(duì)namesilo,將申請(qǐng)得到API KEY通過下面的命令進(jìn)行輸入卑笨。

export Namesilo_Key="YOUR-NAMESILO-API-KEY"

正式申請(qǐng)證書并完成部署

通過下面的命令進(jìn)行證書申請(qǐng)孕暇,需要修改unifi.myname.com這個(gè)地方,將其修改為需要使用的域名赤兴。acme.sh命令在申請(qǐng)域名的證書的時(shí)候?qū)⒂蛎黾釉?strong>-d這個(gè)參數(shù)后面妖滔。

acme.sh --force --issue --dns dns_namesilo --dnssleep 900 -d unifi.myname.com --pre-hook "touch /etc/ssl/private/cert.tar; tar -zcvf /root/.acme.sh/CloudKeySSL_`date +%Y-%m-%d_%H.%M.%S`.tgz /etc/ssl/private/*" --fullchainpath /etc/ssl/private/cloudkey.crt --keypath /etc/ssl/private/cloudkey.key --reloadcmd "sh /root/.acme.sh/cloudkey-renew-hook.sh"

上面的命令除了完成證書申請(qǐng)之外,還將備份原有的證書桶良,部署證書到unifi-control中座舍,同時(shí)重啟unifi服務(wù)。

最后的總結(jié)

這個(gè)方案可以自動(dòng)的完成證書申請(qǐng)陨帆、備份曲秉、部署采蚀、更新,所需要的僅僅是在修改一個(gè)申請(qǐng)的域名就ok了承二,確實(shí)方便實(shí)用榆鼠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市亥鸠,隨后出現(xiàn)的幾起案子妆够,更是在濱河造成了極大的恐慌,老刑警劉巖负蚊,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件神妹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡家妆,警方通過查閱死者的電腦和手機(jī)灾螃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揩徊,“玉大人,你說我怎么就攤上這事嵌赠∷芑模” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵姜挺,是天一觀的道長齿税。 經(jīng)常有香客問我,道長炊豪,這世上最難降的妖魔是什么凌箕? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮词渤,結(jié)果婚禮上牵舱,老公的妹妹穿的比我還像新娘。我一直安慰自己缺虐,他們只是感情好芜壁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著高氮,像睡著了一般慧妄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剪芍,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天塞淹,我揣著相機(jī)與錄音,去河邊找鬼罪裹。 笑死饱普,一個(gè)胖子當(dāng)著我的面吹牛运挫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播费彼,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼滑臊,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了箍铲?” 一聲冷哼從身側(cè)響起雇卷,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颠猴,沒想到半個(gè)月后关划,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翘瓮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年贮折,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片资盅。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡调榄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呵扛,到底是詐尸還是另有隱情每庆,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布今穿,位于F島的核電站缤灵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蓝晒。R本人自食惡果不足惜腮出,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芝薇。 院中可真熱鬧胚嘲,春花似錦、人聲如沸洛二。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭红。三九已至侣滩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間变擒,已是汗流浹背君珠。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娇斑,地道東北人策添。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓材部,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唯竹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乐导,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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