99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

WatchDog自動(dòng)續(xù)期原理詳解:從定時(shí)任務(wù)到ACME協(xié)議全鏈路

WatchDog自動(dòng)續(xù)期原理詳解:從定時(shí)任務(wù)到ACME協(xié)議全鏈路 面試碰到“WatchDog自動(dòng)續(xù)期原理”這個(gè)問(wèn)題十個(gè)人里有八個(gè)會(huì)回答開(kāi)個(gè)定時(shí)任務(wù)快到期了重新申請(qǐng)證書(shū)。這句話對(duì)了一半但恰恰是面試官最想追問(wèn)的地方。如果只停留在“定時(shí)重簽”這個(gè)層面接下來(lái)的連環(huán)問(wèn)基本接不住怎么判斷快到期了續(xù)期和首次申請(qǐng)?jiān)趨f(xié)議層面有什么區(qū)別多臺(tái)機(jī)器會(huì)不會(huì)重復(fù)續(xù)續(xù)失敗之后怎么辦替換證書(shū)的過(guò)程中服務(wù)會(huì)不會(huì)中斷這篇文章就是把這些點(diǎn)全部拆開(kāi)講清楚既面向面試也面向?qū)嶋H部署場(chǎng)景。我自己維護(hù)過(guò)幾個(gè)生產(chǎn)環(huán)境的證書(shū)體系從最早的每月手動(dòng)換證書(shū)到后來(lái)用系統(tǒng)定時(shí)任務(wù)再到現(xiàn)在帶完整狀態(tài)管理、鎖、重試和告警的看門(mén)狗機(jī)制踩過(guò)的坑不算少。WatchDog這個(gè)名詞聽(tīng)起來(lái)高級(jí)本質(zhì)就是一個(gè)持續(xù)運(yùn)行的自動(dòng)續(xù)期閉環(huán)核心價(jià)值是把“證書(shū)過(guò)期”這種隱蔽故障消滅在發(fā)生之前。下面按原理、協(xié)議、實(shí)現(xiàn)、排障四個(gè)維度展開(kāi)篇幅會(huì)有點(diǎn)長(zhǎng)但每段都能直接對(duì)應(yīng)到面試答案和工程落地。1. 先理解WatchDog在這個(gè)場(chǎng)景里到底扮演什么角色1.1 證書(shū)過(guò)期為什么是嚴(yán)重的生產(chǎn)事故很多人覺(jué)得證書(shū)過(guò)期不就是瀏覽器報(bào)個(gè)警告嗎實(shí)際上遠(yuǎn)不止如此。現(xiàn)代互聯(lián)網(wǎng)的HTTPS體系里證書(shū)是信任鏈的基石一旦過(guò)期瀏覽器和客戶端會(huì)直接拒絕建立安全連接。用戶看到的是“您的連接不是私密連接”底層是TLS握手直接中斷。對(duì)線上業(yè)務(wù)來(lái)說(shuō)這等于全站瞬間不可用而且問(wèn)題往往發(fā)生在凌晨或者節(jié)假日因?yàn)樽C書(shū)大多是按天計(jì)算的過(guò)期那一刻不挑時(shí)間。為什么會(huì)有人手動(dòng)續(xù)期的傳統(tǒng)習(xí)慣因?yàn)樵缙谧C書(shū)有效期很長(zhǎng)一年甚至數(shù)年人工管理還能接受。但現(xiàn)在主流CA簽發(fā)的證書(shū)越來(lái)越短比如Lets Encrypt的證書(shū)只有90天有效期短生命周期是故意設(shè)計(jì)的——配合自動(dòng)化續(xù)期機(jī)制把安全和運(yùn)維壓力同時(shí)壓到工具鏈上最大限度縮小證書(shū)被濫用或被拖到過(guò)期的窗口期。這個(gè)背景下靠人來(lái)盯已經(jīng)完全不現(xiàn)實(shí)必須交給程序自動(dòng)完成WatchDog就是這個(gè)“盯梢執(zhí)行”的角色。1.2 WatchDog的核心職責(zé)不只是“續(xù)期”如果讓你寫(xiě)一個(gè)自己的看門(mén)狗最容易犯的錯(cuò)誤是把邏輯全塞進(jìn)一個(gè)“到期就重新申請(qǐng)”的函數(shù)里。真實(shí)的WatchDog職責(zé)要寬得多至少要拆成五塊第一清單管理。它得知道當(dāng)前機(jī)器上有哪些證書(shū)、屬于哪些域名、各自的證書(shū)目錄在哪里。這是所有邏輯的前提很多工具直接掃描固定目錄比如certbot統(tǒng)一放在/etc/letsencrypt/live下acme.sh放在~/.acme.sh下你設(shè)計(jì)自己的組件也要有明確的證書(shū)發(fā)現(xiàn)機(jī)制。第二到期探測(cè)。讀取證書(shū)的有效期計(jì)算剩余天數(shù)。這個(gè)動(dòng)作看起來(lái)簡(jiǎn)單實(shí)際涉及時(shí)間標(biāo)準(zhǔn)問(wèn)題證書(shū)里的NotAfter字段是UTC時(shí)間機(jī)器本地時(shí)區(qū)可能是東八區(qū)直接用本地時(shí)間做減法會(huì)算出邊界誤差必須統(tǒng)一換算成UTC再比較。第三續(xù)期決策。剩余天數(shù)低于閾值才觸發(fā)續(xù)期高于閾值就跳過(guò)。這個(gè)閾值設(shè)計(jì)很關(guān)鍵后面單獨(dú)講。第四協(xié)議交互。調(diào)用ACME接口完成身份驗(yàn)證和證書(shū)簽發(fā)這是整個(gè)鏈路里最重的一步。第五部署與恢復(fù)。新證書(shū)拿到后要替換舊文件、重載Web服務(wù)如果中途失敗還要考慮回滾或者保留舊證書(shū)繼續(xù)服務(wù)。把這五塊放在腦子里再看面試官問(wèn)的“原理”你就能給出有層次的回答而不是一句話帶過(guò)。2. 自動(dòng)續(xù)期的整體工作循環(huán)與狀態(tài)機(jī)設(shè)計(jì)2.1 一次完整循環(huán)要經(jīng)過(guò)哪幾個(gè)階段把WatchDog看成一個(gè)循環(huán)執(zhí)行的狀態(tài)機(jī)比看成一堆if語(yǔ)句清楚得多。單次循環(huán)固定走四個(gè)階段每個(gè)階段的產(chǎn)出都是下一個(gè)階段的輸入第一階段是掃描。遍歷所有待管理證書(shū)逐一讀取有效期信息。這個(gè)階段不該有任何副作用只做只讀操作哪怕中途崩潰也不影響現(xiàn)有服務(wù)。第二階段是判定。把剩余有效天數(shù)和閾值比較篩選出需要續(xù)期的證書(shū)。這里要注意區(qū)分“已經(jīng)續(xù)過(guò)”和“需要續(xù)簽”否則會(huì)出現(xiàn)同一個(gè)證書(shū)被反復(fù)處理的情況。第三階段是續(xù)期。對(duì)篩選出來(lái)的證書(shū)依次發(fā)起ACME申請(qǐng)。這個(gè)階段必須加鎖和記錄狀態(tài)因?yàn)榫W(wǎng)絡(luò)請(qǐng)求可能很慢一次循環(huán)里多個(gè)證書(shū)同時(shí)要續(xù)處理順序和并發(fā)控制都要設(shè)計(jì)好。第四階段是部署。新證書(shū)簽發(fā)成功后寫(xiě)入目標(biāo)路徑然后觸發(fā)部署鉤子比如reload nginx、重啟網(wǎng)關(guān)、更新CDN配置等。這個(gè)狀態(tài)機(jī)的關(guān)鍵在于每個(gè)階段失敗之后怎么走。掃描失敗應(yīng)該跳過(guò)該證書(shū)繼續(xù)下一個(gè)判定失敗只影響當(dāng)次循環(huán)續(xù)期失敗要進(jìn)入退避重試隊(duì)列部署失敗則要回滾到舊證書(shū)并告警。把失敗路徑全部畫(huà)清楚WatchDog才算真正“看住門(mén)”。2.2 輪詢調(diào)度方式對(duì)比常駐進(jìn)程與定時(shí)任務(wù)面試官大概率會(huì)追問(wèn)一句你怎么保證WatchDog持續(xù)運(yùn)行這個(gè)問(wèn)題的標(biāo)準(zhǔn)答案是三種方案的對(duì)比。第一種是常駐后臺(tái)進(jìn)程自己寫(xiě)一個(gè)while循環(huán)每隔一段時(shí)間執(zhí)行一輪掃描。優(yōu)點(diǎn)是狀態(tài)可以保存在內(nèi)存里控制精細(xì)能實(shí)現(xiàn)復(fù)雜的退避策略缺點(diǎn)是進(jìn)程一旦掛掉就沒(méi)人管了需要額外的守護(hù)機(jī)制比如systemd的Restartalways。第二種是系統(tǒng)定時(shí)任務(wù)cron或者systemd timer定期觸發(fā)一次腳本。這也是certbot和acme.sh默認(rèn)推薦的方式cron每天跑一次renew命令。優(yōu)點(diǎn)是簡(jiǎn)單、崩潰后下一次觸發(fā)自動(dòng)恢復(fù)、日志被系統(tǒng)統(tǒng)一管理缺點(diǎn)是無(wú)法做到“事件驅(qū)動(dòng)”的即時(shí)響應(yīng)但證書(shū)續(xù)期本身就允許天級(jí)別的延遲完全夠用。第三種是事件驅(qū)動(dòng)由證書(shū)文件變化或者外部通知觸發(fā)續(xù)期比如監(jiān)聽(tīng)CA的到期提醒郵件或者webhook。實(shí)際工程里用得少因?yàn)閺?fù)雜性高收益有限。我自己的經(jīng)驗(yàn)是如果目標(biāo)是“白天看起來(lái)不停運(yùn)作”常駐進(jìn)程合適如果目標(biāo)是“穩(wěn)”定時(shí)任務(wù)更穩(wěn)。很多團(tuán)隊(duì)內(nèi)部所謂WatchDog本質(zhì)就是一個(gè)打包成systemd service的循環(huán)腳本外層依賴systemd保證進(jìn)程存活內(nèi)層用鎖和數(shù)據(jù)目錄保存續(xù)期結(jié)果。2.3 閾值與提前量為什么提前30天而不是最后1天這是整個(gè)設(shè)計(jì)里最容易被低估的環(huán)節(jié)。證書(shū)有效期90天為什么大家都選在還剩30天左右去續(xù)期原因有四層。第一留足重試窗口。ACME申請(qǐng)涉及網(wǎng)絡(luò)請(qǐng)求、域名驗(yàn)證、CA簽發(fā)任何一個(gè)環(huán)節(jié)都可能失敗失敗后還需要等待和重試。如果拖到最后三天才開(kāi)始續(xù)一次失敗就可能導(dǎo)致請(qǐng)求被限流后面再想補(bǔ)救時(shí)間都不夠。第二避開(kāi)節(jié)假日和深夜。提前30天意味著即使中間連續(xù)失敗兩周你仍然有半個(gè)月的緩沖去人工介入。生產(chǎn)事故里“證書(shū)過(guò)期于凌晨三點(diǎn)”的經(jīng)典劇情就是因?yàn)闆](méi)有留提前量。第三符合主流工具的行為。certbot默認(rèn)續(xù)期閾值就是30天acme.sh默認(rèn)也有類(lèi)似設(shè)置使用成熟默認(rèn)值能減少踩坑。你可以在配置文件里改但不要改太小。第四分?jǐn)偡逯?。如果所有證書(shū)都在到期前最后一天集中續(xù)CA那邊會(huì)出現(xiàn)瞬時(shí)請(qǐng)求高峰被限流概率大增。閾值提前之后續(xù)期時(shí)間自然分散開(kāi)網(wǎng)絡(luò)資源也更平滑。還有一個(gè)面試加分項(xiàng)設(shè)計(jì)閾值時(shí)建議加一個(gè)隨機(jī)抖動(dòng)。機(jī)器上幾十個(gè)證書(shū)如果同一天創(chuàng)建就會(huì)同一天進(jìn)入可續(xù)期窗口隨機(jī)抖動(dòng)可以把請(qǐng)求均勻分散。這不難實(shí)現(xiàn)在判定邏輯里對(duì)每個(gè)證書(shū)生成一個(gè)0到24小時(shí)的隨機(jī)偏移量。2.4 冪等性與鎖多進(jìn)程并發(fā)續(xù)期怎么防這個(gè)問(wèn)題面試官非常愛(ài)問(wèn)因?yàn)閷?shí)際線上一定會(huì)碰到。WatchDog跑起來(lái)之后定時(shí)觸發(fā)、手動(dòng)補(bǔ)跑、同時(shí)部署多臺(tái)機(jī)器多個(gè)進(jìn)程可能同時(shí)對(duì)同一個(gè)域名發(fā)起續(xù)期。ACME協(xié)議本身不禁止重復(fù)訂單但CA有限流機(jī)制大量重復(fù)請(qǐng)求會(huì)導(dǎo)致賬號(hào)被臨時(shí)封禁影響后續(xù)所有證書(shū)的簽發(fā)。解決思路分兩個(gè)層面。單機(jī)層面用文件鎖。續(xù)期腳本啟動(dòng)時(shí)嘗試獲取一個(gè)獨(dú)占鎖拿不到就直接退出。比如用flock命令鎖一個(gè)固定路徑的鎖文件Shell腳本里很常見(jiàn)exec 9/var/run/cert-watchdog.lock flock -n 9 || exit 0Python里可以用fcntl實(shí)現(xiàn)同樣的效果。鎖的意義不是讓代碼變復(fù)雜而是保證同一時(shí)刻只有一個(gè)續(xù)期任務(wù)在處理證書(shū)目錄避免同時(shí)寫(xiě)同一個(gè)私鑰文件。多機(jī)層面用分布式鎖或者數(shù)據(jù)庫(kù)記錄。多臺(tái)機(jī)器如果共享證書(shū)更推薦的做法是讓其中一臺(tái)負(fù)責(zé)續(xù)期其他機(jī)器只拉取同步而不是各自都跑WatchDog。如果必須各自續(xù)期就在共享存儲(chǔ)里寫(xiě)一個(gè)“上次續(xù)期時(shí)間”的標(biāo)記續(xù)期前先讀和寫(xiě)加上過(guò)期時(shí)間防止死鎖。另一個(gè)冪等的關(guān)鍵點(diǎn)是狀態(tài)記錄。每次成功續(xù)期后把證書(shū)序列號(hào)、續(xù)期時(shí)間、到期時(shí)間寫(xiě)進(jìn)一個(gè)狀態(tài)文件下次掃描時(shí)先查狀態(tài)再?zèng)Q定要不要走ACME流程。這樣即使腳本被異常重復(fù)觸發(fā)也不會(huì)對(duì)同一個(gè)證書(shū)發(fā)起無(wú)意義的續(xù)期請(qǐng)求。3. 續(xù)期背后的ACME協(xié)議細(xì)節(jié)3.1 從首次申請(qǐng)到續(xù)期協(xié)議層發(fā)生了什么ACME全稱是Automatic Certificate Management Environment目前主流是ACME v2對(duì)應(yīng)RFC 8555。看過(guò)門(mén)狗調(diào)用了什么其實(shí)就是在HTTP層面與CA的服務(wù)端做一組有順序的API交互。一次完整簽發(fā)流程大概是先用賬號(hào)密鑰對(duì)向CA發(fā)起新訂單請(qǐng)求請(qǐng)求里帶上你想簽的域名列表CA返回該訂單關(guān)聯(lián)的授權(quán)項(xiàng)每個(gè)域名都有獨(dú)立的授權(quán)然后你選擇一個(gè)驗(yàn)證方式讓CA驗(yàn)證你對(duì)域名的控制權(quán)驗(yàn)證通過(guò)后訂單狀態(tài)變成可簽發(fā)你提交CSRCA簽發(fā)證書(shū)并返回證書(shū)內(nèi)容最后下載證書(shū)鏈。這里有個(gè)關(guān)鍵點(diǎn)在ACME協(xié)議層面續(xù)期和首次申請(qǐng)幾乎完全一樣。它不是“把舊證書(shū)延長(zhǎng)有效期”那么簡(jiǎn)單而是重新走一遍新訂單、驗(yàn)證、簽發(fā)的完整流程。舊證書(shū)的作用僅僅是讓CA知道你曾經(jīng)擁有過(guò)它以及你正在管理相同域名。所以WatchDog的核心工作其實(shí)是把首次申請(qǐng)時(shí)的完整鏈路自動(dòng)化重復(fù)執(zhí)行再疊加部署環(huán)節(jié)。這也回答了很多人的疑問(wèn)“為什么續(xù)期不能靜默完成”因?yàn)镃A必須每次重新確認(rèn)你對(duì)域名的控制權(quán)這是安全模型的核心。就算一個(gè)域名被申請(qǐng)過(guò)一百次第一百零一次依然要驗(yàn)證。驗(yàn)證通過(guò)后你拿到的是一張全新的、帶新有效期和新序列號(hào)的證書(shū)。3.2 HTTP-01、DNS-01、TLS-ALPN-01三種驗(yàn)證的選型邏輯面試?yán)锝?jīng)常讓人比較驗(yàn)證方式這里我按工程實(shí)用度講。HTTP-01驗(yàn)證的原理是CA服務(wù)器以普通HTTP請(qǐng)求訪問(wèn)你的域名下的特定路徑也就是http://你的域名/.well-known/acme-challenge/令牌期望響應(yīng)內(nèi)容是“令牌 賬號(hào)密鑰指紋”的拼接結(jié)果。能用這個(gè)方式的前提是你有對(duì)80端口的控制權(quán)并且能臨時(shí)寫(xiě)入Web根目錄或者臨時(shí)起一個(gè)監(jiān)聽(tīng)80端口的進(jìn)程。它的優(yōu)點(diǎn)是配置簡(jiǎn)單適用于普通網(wǎng)站缺點(diǎn)是禁止用于通配符證書(shū)因?yàn)镠TTP-01只能驗(yàn)證單個(gè)具體的域名而且要求80端口從外網(wǎng)可達(dá)。DNS-01驗(yàn)證的原理是CA去查詢你的域名DNS記錄要求_acme-challenge子域的TXT記錄內(nèi)容與預(yù)期值一致。這個(gè)方式的優(yōu)點(diǎn)是能簽發(fā)通配符證書(shū)也適合純網(wǎng)關(guān)、內(nèi)網(wǎng)服務(wù)這些沒(méi)有公網(wǎng)80/443端口的場(chǎng)景缺點(diǎn)是你必須能通過(guò)DNS服務(wù)商的API自動(dòng)創(chuàng)建、刪除TXT記錄這比改網(wǎng)站目錄麻煩但各大服務(wù)商都有配套客戶端支持。TLS-ALPN-01是通過(guò)TLS握手中的ALPN擴(kuò)展來(lái)驗(yàn)證要求443端口可達(dá)并且支持指定協(xié)議標(biāo)識(shí)實(shí)際用的人最少一般用在不想碰80端口的場(chǎng)景。選型邏輯一句話總結(jié)有80端口寫(xiě)權(quán)限就優(yōu)先HTTP-01要通配符和自動(dòng)解析能力就DNS-01特殊網(wǎng)絡(luò)環(huán)境下才考慮TLS-ALPN-01。作為看門(mén)狗設(shè)計(jì)者這幾條最好都支持讓用戶按域名場(chǎng)景配置策略。3.3 私鑰復(fù)用還是輪換一個(gè)容易被忽略的設(shè)計(jì)證書(shū)是公鑰基礎(chǔ)設(shè)施的一部分私鑰安全性直接決定證書(shū)信任。續(xù)期時(shí)提交的CSR里包含公鑰對(duì)應(yīng)私鑰可以復(fù)用舊的那把也可以重新生成。復(fù)用私鑰的好處是證書(shū)文件更新時(shí)私鑰不變下游對(duì)接方如果緩存了公鑰指紋不受任何影響部署過(guò)程更平滑壞處是如果私鑰已經(jīng)泄露或懷疑泄露復(fù)用等于延續(xù)風(fēng)險(xiǎn)。輪換私鑰的好處是定期刷新密鑰材料符合安全最佳實(shí)踐壞處是某些場(chǎng)景下客戶端或內(nèi)部系統(tǒng)需要同步更新信任信息比如一些mTLS場(chǎng)景。主流工具的默認(rèn)行為已經(jīng)幫你做了取舍。certbot默認(rèn)在續(xù)期時(shí)繼續(xù)使用原私鑰除非你顯式傳--force-new-keyacme.sh的策略也類(lèi)似。作為WatchDog我建議默認(rèn)復(fù)用私鑰把“強(qiáng)制輪換”作為可選項(xiàng)暴露出來(lái)畢竟大多數(shù)場(chǎng)景里平滑優(yōu)先。真正的安全底線是私鑰文件權(quán)限續(xù)期后應(yīng)該保持600或640權(quán)限owner是運(yùn)行服務(wù)的專(zhuān)用賬號(hào)而不是隨手0777這個(gè)細(xì)節(jié)反而比“是否換鑰匙”更值得寫(xiě)進(jìn)檢查清單。3.4 證書(shū)替換與部署鉤子的執(zhí)行順序拿到新證書(shū)只是第一步讓它生效才是終點(diǎn)。證書(shū)和私鑰寫(xiě)進(jìn)標(biāo)準(zhǔn)路徑后Web服務(wù)器不會(huì)自動(dòng)感知文件變化必須主動(dòng)觸發(fā)重載。以nginx為例需要nginx -s reload或者systemctl reload nginx。這個(gè)環(huán)節(jié)最常見(jiàn)的坑是證書(shū)文件寫(xiě)入了但私鑰沒(méi)有同步寫(xiě)入或者舊證書(shū)還在被某個(gè)進(jìn)程占用。更安全的流程是先把新證書(shū)和私鑰全部寫(xiě)入臨時(shí)路徑校驗(yàn)通過(guò)后批量替換再觸發(fā)重載最后校驗(yàn)重載是否成功。順序不能亂反過(guò)來(lái)的話舊服務(wù)可能讀到半新半舊的文件組合導(dǎo)致TLS握手失敗。部署鉤子還得分兩層理解。一層是通用鉤子比如reload nginx、重啟網(wǎng)關(guān)幾乎所有證書(shū)都要執(zhí)行另一層是業(yè)務(wù)鉤子比如某個(gè)服務(wù)把證書(shū)指紋上報(bào)到內(nèi)部系統(tǒng)或者需要同步到CDN。通用鉤子建議走默認(rèn)流程業(yè)務(wù)鉤子用可擴(kuò)展腳本目錄配置這樣新增一個(gè)業(yè)務(wù)接入點(diǎn)不需要改主程序。還有一個(gè)細(xì)節(jié)上傳到CDN或者網(wǎng)關(guān)設(shè)備的證書(shū)通常需要在續(xù)期后主動(dòng)推送這類(lèi)操作有網(wǎng)絡(luò)延遲WatchDog應(yīng)該在推送接口返回成功后清掉待同步標(biāo)記而不是每次循環(huán)都重復(fù)推送。4. 實(shí)操演練寫(xiě)一個(gè)最小可用的WatchDog續(xù)期器這一節(jié)我們把原理落到代碼上做一個(gè)精簡(jiǎn)版本目標(biāo)是不依賴大型框架也能理解全流程。假設(shè)環(huán)境是Linux證書(shū)由acme.sh或者certbot已經(jīng)簽好我們的WatchDog只做“探測(cè)、判定、調(diào)用續(xù)期、部署”四件事。4.1 第一步讀取證書(shū)有效期并計(jì)算剩余天數(shù)讀取有效期最直接的方式是用OpenSSL命令適合Shell腳本如果寫(xiě)Python用cryptography庫(kù)更順手。核心邏輯是解析證書(shū)的notAfter字段轉(zhuǎn)換為UTC時(shí)間再和當(dāng)前UTC時(shí)間做差。Shell方式expires$(openssl x509 -enddate -noout -in /etc/letsencrypt/live/example.com/fullchain.pem | cut -d -f2) expires_epoch$(date -d $expires %s) now_epoch$(date %s) remaining_days$(( (expires_epoch - now_epoch) / 86400 ))Python方式from datetime import datetime, timedelta, timezone from cryptography import x509 with open(/etc/letsencrypt/live/example.com/cert.pem, rb) as f: cert x509.load_pem_x509_certificate(f.read()) expiry cert.not_valid_after_utc remaining (expiry - datetime.now(timezone.utc)).total_seconds() / 86400 print(fremaining days: {remaining:.1f}) if remaining 30: print(need renewal)這段邏輯注意兩點(diǎn)第一時(shí)間必須統(tǒng)一UTC直接取本地時(shí)間做減法在跨時(shí)區(qū)環(huán)境下會(huì)出現(xiàn)一天誤差第二fullchain.pem和cert.pem的開(kāi)頭結(jié)尾時(shí)間一致讀哪個(gè)都行但生產(chǎn)上建議讀fullchain因?yàn)樗攀欠?wù)端實(shí)際使用的文件。4.2 第二步鎖、閾值與續(xù)期調(diào)用掃描之前先拿鎖防止多個(gè)定時(shí)任務(wù)并發(fā)進(jìn)入續(xù)期邏輯。閾值設(shè)為30天再加上隨機(jī)抖動(dòng)。續(xù)期的具體動(dòng)作不建議自己實(shí)現(xiàn)ACME協(xié)議除非你是做二次開(kāi)發(fā)否則直接調(diào)用成熟客戶端比如certbot renew或者acme.sh --renew讓專(zhuān)業(yè)工具處理協(xié)議細(xì)節(jié)WatchDog專(zhuān)注調(diào)度。偽代碼邏輯def should_renew(domain, threshold_days): remaining get_remaining_days(domain) jitter get_jitter(domain) # 0~24小時(shí)轉(zhuǎn)成天0~1 return remaining threshold_days jitter def run_once(): acquired try_lock(/var/run/cert-watchdog.lock) if not acquired: log(another instance running, skip) return for cert in scan_certificates(): if should_renew(cert.domain, 30): result renew_certificate(cert.domain) if result.success: deploy_certificate(cert.domain) record_state(cert.domain, result.serial) else: schedule_retry(cert.domain, backoff_seconds) release_lock()這里最核心的是“renew_certificate”內(nèi)部要處理失敗重試。重試策略我建議指數(shù)退避加最大次數(shù)上限比如第一次失敗等5分鐘第二次等15分鐘第三次等30分鐘超過(guò)一定次數(shù)就進(jìn)入半死狀態(tài)持續(xù)告警不退出等人工介入。不要讓看門(mén)狗在失敗時(shí)原地瘋狂重試那樣除了觸發(fā)CA限流沒(méi)有任何意義。4.3 第三步部署鉤子與回滾續(xù)期成功之后執(zhí)行部署腳本。最簡(jiǎn)單的做法是維護(hù)一個(gè)deploy目錄每個(gè)腳本接收證書(shū)路徑參數(shù)。執(zhí)行順序按文件名排序失敗則記錄并發(fā)送通知但不回滾已經(jīng)成功執(zhí)行的步驟?;貪L是個(gè)值得展開(kāi)的點(diǎn)。證書(shū)部署的回滾和普通發(fā)版不一樣舊證書(shū)文件大概率還在只要在替換前備份一下就能在重載失敗時(shí)快速恢復(fù)。我的習(xí)慣是每次續(xù)期前把當(dāng)前fullchain.pem和privkey.pem復(fù)制到一個(gè)帶時(shí)間戳的backup目錄保留最近幾份部署腳本執(zhí)行系統(tǒng)reload返回非零時(shí)把備份文件恢復(fù)回去再reload一次然后告警說(shuō)明“自動(dòng)回滾成功請(qǐng)檢查原因”。這個(gè)機(jī)制能擋住相當(dāng)一部分因配置錯(cuò)誤導(dǎo)致的線上事故。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 典型故障速查表一段表格把我在生產(chǎn)環(huán)境遇到過(guò)的高頻問(wèn)題整理出來(lái)面試和實(shí)戰(zhàn)都用得上?,F(xiàn)象常見(jiàn)原因排查方向續(xù)期日志里報(bào)驗(yàn)證超時(shí)80端口或DNS記錄不可達(dá)、防火墻攔截telnet測(cè)試端口、dig查詢TXT記錄證書(shū)文件沒(méi)變化但日志顯示成功續(xù)期寫(xiě)入了其他路徑、Nginx讀的是軟鏈路徑檢查證書(shū)路徑與Nginx配置是否一致連續(xù)多次403/429請(qǐng)求頻率觸發(fā)CA限流查看CA賬號(hào)狀態(tài)、減少重試頻率、檢查鎖是否生效reload nginx后還是舊證書(shū)reload失敗或nginx worker未平滑重啟檢查reload日志、執(zhí)行nginx -tDNS-01驗(yàn)證一直pendingTTL緩存未過(guò)期、TXT記錄寫(xiě)入失敗手動(dòng)dig驗(yàn)證、檢查DNS API日志看門(mén)狗進(jìn)程在但沒(méi)執(zhí)行鎖文件殘留導(dǎo)致每次啟動(dòng)就退出檢查鎖PID是否存活、清理陳舊鎖5.2 排查命令與判斷思路排查證書(shū)類(lèi)問(wèn)題我建議每個(gè)運(yùn)維都刻在腦子里一套固定命令序列。第一步用openssl看證書(shū)有效期和基本信息openssl x509 -enddate -noout -in /etc/letsencrypt/live/example.com/fullchain.pem openssl x509 -serial -subject -issuer -noout -in /etc/letsencrypt/live/example.com/fullchain.pem第二步看實(shí)際服務(wù)端加載的證書(shū)是不是目標(biāo)證書(shū)。方法很多最可靠的直接看進(jìn)程加載路徑或用openssl s_client連接本機(jī)端口抓證書(shū)指紋。curl也可以輸出里能看到證書(shū)序列號(hào)。兩種方法的結(jié)果互相印證能定位“文件換了但服務(wù)沒(méi)加載”的問(wèn)題。第三步看續(xù)期工具自身狀態(tài)。certbot有certificates子命令acme.sh有--list輸出里直接包含每個(gè)證書(shū)的到期時(shí)間、續(xù)期狀態(tài)。這一步省去重復(fù)掃描也是排查“為什么沒(méi)觸發(fā)續(xù)期”的最佳入口。5.3 我踩過(guò)的幾個(gè)坑提前幫你們排掉第一個(gè)坑只監(jiān)控證書(shū)是否過(guò)期不監(jiān)控續(xù)期任務(wù)本身。證書(shū)過(guò)期的確是因?yàn)椤皼](méi)續(xù)上”但更關(guān)鍵的指標(biāo)是“下次續(xù)期時(shí)間是否在正常推進(jìn)”。正確的監(jiān)控姿勢(shì)是每天檢查剩余有效期一旦剩余天數(shù)低于安全閾值但沒(méi)有續(xù)期動(dòng)作立刻告警而不是等到快過(guò)期了才開(kāi)始看。第二個(gè)坑忽略了CA的限流余量。上次遇到過(guò)DNS-01連續(xù)失敗重試腳本沒(méi)控制頻率一小時(shí)請(qǐng)求了幾百次賬號(hào)被限流導(dǎo)致前后一個(gè)多小時(shí)其他正常域名也簽不了證書(shū)。從那之后我強(qiáng)制在WatchDog里加入全局請(qǐng)求速率限制并且失敗后必須退避這個(gè)比單個(gè)域名的重試策略更重要。第三個(gè)坑證書(shū)目錄權(quán)限太松。曾經(jīng)為了讓Nginx工作進(jìn)程能讀到私鑰把live目錄權(quán)限放開(kāi)到755私鑰權(quán)限644后來(lái)排查安全問(wèn)題時(shí)嚇出一身冷汗。私鑰文件必須600目錄750owner對(duì)應(yīng)運(yùn)行賬號(hào)檢查CI腳本里有一條專(zhuān)門(mén)校驗(yàn)這條不滿足直接失敗。第四個(gè)坑多臺(tái)機(jī)器共用一個(gè)證書(shū)存儲(chǔ)目錄時(shí)沒(méi)有鎖。兩臺(tái)機(jī)器同時(shí)續(xù)期同一個(gè)域名各自生成不同的私鑰后寫(xiě)的那臺(tái)把先寫(xiě)的那臺(tái)覆蓋掉結(jié)果一半服務(wù)用舊證書(shū)一半用新證書(shū)排查了很久才發(fā)現(xiàn)。解決方案就是前面說(shuō)的要么只讓一臺(tái)機(jī)器負(fù)責(zé)續(xù)期要么引入分布式鎖兩者必選其一。這里也提醒一點(diǎn)如果你的部署環(huán)境依賴acme.sh它的cron條目默認(rèn)就是每天執(zhí)行一次renew動(dòng)作這已經(jīng)是一個(gè)很好的自動(dòng)續(xù)期底座。你真正需要做的是圍繞cron把日志、告警、鎖、部署鉤子補(bǔ)齊把“會(huì)續(xù)期”升級(jí)為“可靠地續(xù)期”。我個(gè)人在實(shí)際維護(hù)中最深的一條體會(huì)是WatchDog這類(lèi)組件價(jià)值不在于它的代碼多復(fù)雜而在于你把它當(dāng)作一個(gè)需要長(zhǎng)期值守的小系統(tǒng)來(lái)對(duì)待——有狀態(tài)、有失敗路徑、有可觀測(cè)性。只要把“探活、判定、續(xù)期、部署、重試、回滾”這條鏈路打磨順了證書(shū)過(guò)期這個(gè)問(wèn)題基本就能從你手上徹底消失。后面如果再遇到面試官追問(wèn)細(xì)節(jié)你按這條鏈路一層層講下來(lái)再加上一兩個(gè)真實(shí)踩坑案例比背概念要扎實(shí)得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香五月天影院| 99这里有精品久久97| 婷婷激情综合网| 色情五月丁香婷婷网| 91黄色五月天视频| 亚洲精品又粗又大又爽A片| 五月激情六月宗合| 欧美亚洲操逼| 色色亚洲无码| 色欲婷婷夜夜| 丁香五月激情综合| 久久久香| 香蕉久久六月| 丁香五月97视频| 亚洲综合五月天婷婷| 亚洲小视频| 中海油常州环保涂料有限公司| Av在线资源| 色婷婷基地| 五月婷婷激情综合av| 袁子仪视频观看| 人人九色| 9999热这里只有精品| 九九久久99精品免费观看www| 久草婷妨| 亚洲狠狠终合停停终合| 婷婷丁香综合网| 狠狠爱综合| 色婷五月天激情| 亚洲激情无码久久| 伍月婷婷免费视频| 激情五月黄色小说| 女性自慰系列第五页| 婷婷中文网站| 丁香五月激情网| 91av色色乱视频| 国产真实乱了老女人视频| 丁香激情久久| 97av在线视频| 99色在线观看| 伊人激情影院| 极品人妻VIDEOSSS人妻| 亚洲国产精品VA在线看黑人| 久99婷婷色综合| 中文字幕日产A片在线看| 91操片| 激情五月天小说网| 一区二区免费看| 丁香五月天在线| 色五月成人在线| 99无码免费视频| 久久久这里都是精品| 九九久久99精品免费观看www| 免费在线a| W色综合| 91av传媒高清在线视频网| 囯产精品久久欠久久久久久九大| 亚洲激情综合| 一本久久婷婷| 六月婷婷七月丁香| 亚洲超碰在线| 中国AV性爱观看| 蜜乳A√| 婷婷色五月亚洲| 婷婷五月开心中文字幕色| 亚州激情在线视频| 色婷婷五月天不卡| 天天插天天插| 欧美黄色AA片哗啦啦啦| 成人做爰高潮A片免费视频| 五月婷婷激情综合| 十二区无码| 91re色综合视频| 久久丁香综合精品综合| www,久久久| 91一起操| 91精品国产综合久久密臀| 九九精品在线观看视频6| 婷婷五月天第三页| 婷婷丁香五月激情| 日韩啪啪自拍| 丁香五月婷婷激情小说| 九九热在这里只有精品| 久久99精品久久久久久噜噜| 狠狠操狠狠| 69超碰在线| 色婷婷激情视频| 免费人人操| 国产亚洲色婷婷久久99精品91| 激情六月丁香综合| 五月天伊人| 深爱激情六月天| 国产精品久久久久久久久久| 婷婷欧美激情| 无码少妇高潮喷水A片免费| 综合久久99| 北条麻妃九九九国产精品视频| 9色小视频在线观看| 五月激情射| 色色色欧美| 色婷婷丁香五月天激情综合网| 久久视频这里99| 伊人玖玖精品| 免费日本aⅴ中文字幕| 婷婷五月综合色中文字幕| 五月丁香另类图片| 五月婷婷婷婷网| 国产 码在线成人网站| 天堂无码人妻精品AV一区| 超碰人人摸AV| 五月天色婷好好| 久久婷婷成人综合色怡春院| 99热这里只有精| 欧美啪啪网| 99热超碰| 五月天激情久久| av国产精品| 久久久jd| 5月婷婷激情在线| 久久久com| 丁香六月青青草| 成人婷婷色五月天| 99爱在线免费视频| 国产成人高清| 五月婷婷亚洲色视频| 久99热| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 天天草天天爽| 97超级碰碰碰久久久| 久久99久久99精品免视看婷| www.91在线观看| 激情五月天在线观看婷婷| 激情网婷婷婷| 色色欧美色色色| 亚洲中文字幕网| 久久久久er热| 超碰在线个人观看| 欧美爆乳一区二区三区| 欧美成人在线观看| 六月丁香婷婷网| 大香蕉五月天| 久久大香蕉同僚| 激情婷婷丁香色五月| 五月丁香影院| 激情深爱综合| 婷婷爱五月天| 五月丁香日本一抹本| 日本在线va| 另类少妇人与禽zOZZ0性伦| 啪啪色区| 天天干天天操天天射| 伊人喵咪a V| 另类五月婷婷| 久久97| 大香蕉综合| 超碰人人干| 就去色色五月丁香婷婷久久久| 五月婷婷偷| 99热国内精品| 激情综合无码| 蜘蛛女免费观看完整版高清电影| 激情婷婷| 综合在线网| 色婷婷影视| 日本久久综合| 99性视频| 在线五月色播| 久久久久亚洲AV综合| 六月激情久久婷婷| 久久婷婷七月丁香| 啪啪小说五月天| av在线免费播放观看| 色 五月俺去也| 东京热免费视频| 久久久18| 国产亚洲精品AAAA片APP| 夜夜涩涩涩| 91狠狠综合久久久久久| 丁香五月 六月婷婷首页| 人妻熟女一区二区AV| 五月综合婷婷开心网| 九九黄色网| 日本va欧美va精品发布视频 | 热思思| 免费成人中文字幕| 五月天丁香成人| 久久免费丁香| 丁香五月天电影| 激情五月丁香综合蜜桃| 丁香五月狠狠在线观看| 狠狠色大香蕉| 色八月婷婷| 婷婷五月天成人| 天天日狠狠| chaopengdaxiangjiao| 99精品在线下载| 琪琪色网址| 婷婷激情综合| 天天摸天天舔在线视频| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 熟女人妻一区二区三区免费看 | 另类图片天天影视在线观看| 乱精品一区字幕二区| 99色1| 久色大香蕉| 66色在线日韩| 99久久66| 2021日韩无码| 超碰人人在线| 色播播五月| 激情婷婷久久| 久久九久久| 五月婷婷影| 五月婷婷色影院| 婷婷五月在线综合| 丁香五月婷婷综合激情哟哟哟| 久久思思热| 黄色AV日韩| 精品人妻午夜一区二区三区四区 | 天天曰夜夜爽| 月色色综合婷婷网| 亚洲妇女熟BBW| 97色色色色色| 色青青视频| 99热高清在线| 成人国产欧美大片一区| 碰超99| 午夜九九电影| 狠狠色综合网| 欧美日韩国产一区二区| 亚洲亚洲人成综合网络| 丁香六月啪啪| 99ri视频在线播放| 久久 视频这里只有精总| 丁香五月婷婷基地| 久久99三级在线视频| 激情综合五| 天天干天天色综合| Jh7Uf088VHafNm| 天天综合网~91综合网| 国模狼狼| 激情五月婷婷老师| 综合网色| 另类专区在线| 亚洲天99| 色婷婷影视99| 激情五月婷婷视频| 国产乱人偷精品人妻A片| 丁香六月婷| 26UUU精品一区二区Com| 亚洲色婷婷激情| 色九亚洲| 丁香五月激情综合婷综| 丁香五月婷婷激情蜜桃| 91中文狠狠综合| 超碰在线99| 日日噜狠狠色| 亚洲激情免费视频观看| 婷婷五月天免费| 激情网站五月| 天天日天天舔天天摸| 成人VAV视频在线观看| 婷婷中文字幕| 操99| 日韩一级片| 日韩久热| 婷婷操超碰| www.丁香五月| 五月丁香激情婷婷| 99热99热不卡| 人妻久久久久久久久久久| 五月天婷婷青青| 激情综合婷婷五月| 青青草原中文字幕| 色噜噜狠狠色综合AV兰草影视| 久久免费丁香| 色色色色色色色色综合网| 五月丁香黄色| 丁香五月婷婷综合网| 婷婷的五月天另类视频| 狠色狠色狠色狠色狠色网| 99久久9| 亚洲综合视频网| 九九99男女视频在线观看| 色婷婷在线电影| 五月丁香亭亭| 五月丁香亭亭激情操逼网| 五月丁香激情啪啪| 国产精品第一国产精品| 超碰人人在线观看| 变天就操逼婷婷五月| 婷婷五月激情四射手| 91无码色色| 激情内射人妻1区2区3区| 亚洲欧洲中文日韩久久AV乱码 | 免费AAAAA网| 久久人人九九| 2015好吊操| 日本欧美在线| 夜夜躁狠狠 | 五月丁香在线| 亚洲综合网在线| 香蕉久久av一区二区三区| 日日夜夜干| 亚洲精品又粗又大又爽A片| 男妓跪趴把舌头伸进我的嘴巴| 被男人添B超爽视频| 熟女人妻一区二区三区免费看| 超碰在线91| 免费视频无码| 激情网色五月| 99九九在线| 91一起操| 思思99热这里只有精品6| 色综合久久88色综合天天| 婷婷欧美| 99色在线| 欧美日韩国产一二区| 五月色婷婷夜色| 秋霞日本免费毛片A片| 操97免费超级视频| 亚洲九九免费| 婷婷五月激情五月激情| 91久久久久久| 天天肏在线视频| 综合www色| 亚洲精品国产成人AV在线| 爱性综合网| 精品国产va久久久久久久| 日韩精品色| 一本色道久久综合狠狠躁小说| 欧美日韩成人免费在线| 性av| 五月婷婷影| 丁香丁香激情网| 五月天激情.com| 久久久久人妻| 在线看的免费网站| 日本啪啪网| 亚洲色情免费网| 91色情播放| 色婷婷六月天| 欧美色必爱| 大香蕉婷婷五月天| 99这里只有精品99| 五月婷婷色| 色吊丝中文字幕| 五月婷婷影院| 狠狠五月综合在线| 婷婷欧美| 日本3级片一区2区| 天天干天天色天天干| 玖玖婷婷色五月| 少妇2做爰HD韩国电影| 婷婷日本色| 99热 这里只有精品 国产 日韩| 夜夜做夜夜愛| 嫩草AV久久伊人妇女超级A| 99视频极品在线香蕉| jiqingtaose五月天| 丁香五月激情无码视频| 91操碰| 久久码久久无清| sisi热国产| 播五月丁香三月婷婷| 婷婷五月天色| 色五月激情视频在线综合| 美英法精品无码免费视频| 色五月综合激情| 伊人激情网| 丁香六月色情| www.99热| 99色综合网| 久久99热这里只频精品6学生| 精品香蕉99久久久久网站| 久久香蕉福利| 五月丁香六月激情| 99日在线观看视频| 999热在线视频| 狠狠狠狠狠干| 婷婷五月黄色激情在线| 熟女激情五月天| jiuse91在线| 天天综合天天玩夜夜玩天天玩夜夜玩 | 久久99久久久| 99热这里只有精品免费观看| 狠狠干.com| 久1色色| 久久综合激情| 91丨九色丨高潮丰满日本| 丁香五月播播| 久久99久久99www| 激情五月综合ì香亚洲| 五月婷婷色| 大香蕉手机视频| 97欧美在线| 9色免费网| 激情五月婷婷中文字幕| 婷婷无五月无码视频| 综合激情啪啪| 婷婷丁香成人| 五月丁香婷婷在线综合蜜桃| 丁香六月啪啪| 久热这里只有精品在线观看 | 99热这里在线精品| 精品久久久人妻| 伊人网大香| 国产无人区大片| 2016日日夜夜操| 天天天干夜夜夜操| 久久加勒比| 玖玖资源在线视频| 丁香五月停停基地| 99这里有精品视频| 99,色| 亚洲无码99| 91精品综合久久久久久五月丁香| WWW,五月| www天天干| 人妻丰满精品一区二区A片| 伊人六月丁香婷婷| 午夜激情久久| 五月婷婷深深爱| 久久综合丁香| 在线播放成人网站| 色色亚卅| 热996精品在线观看| 色婷婷久久综合久色综| 久久婷婷网| 91性高潮久久久久久久久| 999婷婷综合| 超碰99在线观看| 色五月婷婷久久| 日本色婷婷| 日日天天操| 丁香五月天成人网站| 欧美日韩五月婷婷| www久久久| 丁香午月AV中文字幕| 91精品91久久久中77777| 婷婷五月天亚洲天堂| 丰滿爆乳一区二区三区| 亚洲精品在线视频| 七七九九色色| 天天操精品| 欧美久久婷婷| 五月婷婷六月爱| 大香蕉AV电影在线| 91九色视频在线观看| 久99| 国产99久| 五月丁香综合啪啪| 狠色狠色综合久久| 日良久久| www.婷婷com| 国产无人区大片| 79亚洲精品少妇| 国产综合A片| 中文字幕av在线| 婷婷久久国产视频| 色色色五月婷| 亚洲国产精品二二三三区| 丁香六月欧美| 五月天丁香啪啪综合| 91无码一起草| 色婷婷av在线观看| 婷婷五月丁香综合激情| 丁香五月综合久久八| 五月天婷婷色综合| ,99视频久久| 亚洲九九99精品视频在线播放| 五月婷婷啪啪综合网| 人妻爽爽爽久久久久久久久| 变天就操逼婷婷五月| 综合激情五月丁香| 五月天婷婷激情小说电影| 六月激情婷婷| 色综合久久88色综合天天| 97久久视频| 丁香久久久| 噜噜色天天开心| 婷婷六久久| 激情五月五月婷婷| 五月天婷婷社区| 激情啪啪五月天| 亚洲无码黄色| 狠狠色噜噜狠狠狠777奇米| 丁香五月成人| 丁香婷婷九月| 激情亚洲网| 五月天激情综合网站| 97在线/日本| 99国产精品久久久久久久久久久 | 一区二区三区四日本| 成人av在线网站| va婷婷| 色色99色色| 97碰久久| 亚洲一区二区无遮挡A片| 亚洲日韩久久婷婷伊人| 久久久婷婷婷| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 久久视频九九视频| 26uuu国产色| 99热日韩| 六月激情久久| 日本人人xxx| 婷婷四色五月| 99热这里只有精品23| 女性自慰系列第五页| 亚州操逼网| 久久精品五月| 开心久久网婷婷| 激情人妻蜜夜系列区| 欧美色五月| 激情五月天社区| 色婷婷综合久久久久| 天天日天天干天天爽| 激情综合色婷婷啪啪六月天| 麻豆123区| 色亭亭五月天网扯| AV 3P| 亚洲天天免费| 五月激情视频网| www色婷婷久久综合久色 | 思思网站| 婷婷五月天激情综合婷婷五月天激情综合| 色婷婷丁香六月| 日韩成人精品中文字幕| 91操人视频| 亚洲成人AV在线观看| 婷婷97碰碰| 操操国产| 99亚色色色| 丁香婷婷综合精品六月初| 亚洲黄色影视| 开心丁五月| 亚洲婷婷开心五月| 色五月成人在线| 久久婷婷五月天激情唯美| 天天擼久久擼在线| 亚洲天天综合| 夜夜躁婷婷AV| 欧美色五月| 中文字幕丰满乱孑伦无码专区| 在线成人网站| www.主妇. com| 婷婷五月色花丁香社区| 狠狠操天天操综合| 天天干狠狠艹| 婷久久| 婷婷五月天小说网| 五月丁香在线| 五月婷无码| 欧美熟妇一区二区三区| 天天肏夜夜肏| 五月天婷婷爱丁香中文字幕| 五月激情婷婷开心| 9热精品| 五月丁香激情啪啪| 久久精品99国产精品日本| 激情久久伊人| 狠狠色丁香久久| www久久99| 激情五月天之六月婷婷| 97丁香五月| 久久久久激情网| 天天天天天天操| 无码激情AAAAA片-区区| 毛v一区二区视频| 人人操日| av在线色五月丁香婷区久| 51国精产品自偷自偷综合| 4399成人黄A片| 国产人妻人伦精品一区二区| 青青草网武则天| 欧美99热| 婷婷丁香五月综合激情视频| 在线成人网站| 99干免费视频| 婷婷色中文字幕| 亚洲男人的天堂婷婷色五月| 激情六月天婷婷| 久色网| 人碰91| 开心婷婷五| 五月丁香婷婷成人网| 性爱视频99| AV片在线观看| 人人草成人视频| 99热免| 九九99久久| 青青日韩| 综合久久五月| 婷婷色中文字幕| 99在线视频。| 色综久久AV| 99热这里只有精品5| 成人在线视频网| 婷婷六月色情| 青青草婷婷综合五月| 日本三久久| 91夫妻网站九色| 久久黄A片| 五月天婷婷成人| 色婷婷狠狠| 五月丁香六月婷婷久久肏| 婷婷五月婷婷五月天| 丁香六月激情| 丁香五月成人自拍| www.人人操人人看人人想人人摸 人人人人操,COM | 日韩aaa| 国产3p露脸普通话对白| 伊人激情综合网| 亚洲五月色| 国产精品人成A片一区二区| 五月天婷婷色色网| 亚洲aV写真天天综合网久久| WWW.久久.COM| 色色综合成人网| 色婷婷偷拍| 人人操人| 人人草人人爱手机视频看看 | 播五月丁香三月婷婷| 五月天婷婷婷| 狠狠擼综合| 五月婷婷啪啪| 久久激情网| 久大香蕉| 99热碰碰| 五月婷婷六月天| 色婷婷AV久久| 丁香五月五月婷婷五月天激情四射| 超碰av在线| 国产韩日亚洲美州欧亚综合在线| 亚洲AV日韩无码| 91在线日本| 婷婷五月天视频亚洲| 五月丁香六月综合图| 婷婷五月天亚洲天堂| 婷婷丁香久久| 五月天丁香啪啪综合| 激情综合网五月激情| 亚洲天堂爱爱| 五月丁香婷婷色色| 欧美婷婷日本| 狠狠干综合| 中文字幕在线资源| 久久伊人五月天| 无码色色色色色| 四色99久久| 久久久五月天| 思思热这里只有精品| 婷婷伊人綜合中文字幕小说| 五月丁香狠狠爱| www.色综合| 91久久婷婷| 人妻性操逼中文字幕 国产| 97福利视频| 99精品激情| 五月婷婷影院| 深爱激情小说五月婷婷| 久久久婷丁香五月| 五月色综合网| 99色五月| 99热国产| 久色成人| 丁香深五月婷婷| 丁香婷婷视频在线| 婷婷免费无马| 岛国av网站| 激情开心五月婷婷| 91婷婷视频| 婷婷开心激情五月激情网| 激情碰碰碰| 五月婷婷激情| 99久久久国产大片| 婷婷六月丁香五月图区| 狠狠操狠狠操| www色婷婷| 精品一二三区久久AAA片| 婷婷综合在线观看视频| 成年视频免费观看| www.丁香五月| 五月天小说激情| YW无码| 激情久久肏屄视频| 五月天激情站| 色网站9| 日本系列_4页_777FP| 亚洲婷婷五月天在线激情综合网| 欧美三级巜人妻互换| 九一99| 色色色综合色| 国产精品久久久久久喷浆| 久久婷婷五月综合色和| 久久婷.com| 噼里啪啦完整版中文在线观看| 五月天精品综合| 丁香五月在线自慰| 日本人妻伦在线中文字幕| 婷婷久久综合久色| 久久综合99| 欧美色必爱| 天天狠狠夜夜狠狠2023| 婷婷丁香五月综合激情视频| 99自拍视频在线| 色婷婷呢狠禁久禁| 久久久99视频| 就爱射中文字幕资源网| 亚洲区视频| 婷婷亚洲在线| 综合五月婷婷| 噜噜狠狠色综无码久久合欧美| 婷五月丁香俺| 色婷婷色五月综合| 熟妇人妻中文字幕无码老熟妇 | 色婷婷激情| 久久婷婷操| 成人一级片| 五月天丁香久久综合 | 欧韩性爱| 丁香六月婷婷开心婷婷网| 欧美成人精品A片免费一区99| 丁香五月天堂网| 丁香五月婷婷88在线| 97资源碰碰在线| 日韩在线看AV| 久热这里只有精品6| 五月天婷婷婷| 国产寻花在线| 91九九| 神马欧美精| 亚洲激情四谢| 丁香五月色| 粉嫩av懂色av蜜臀av熟妇| 少妇人妻丰满做爰XXX| 日日噜狠狠| 综合在线色婷婷| 99综合99| 亚洲俩性性爱图片久久第六页| 久久久久99精品成人网站| 无码 av电影| 伊人激情影院| 久热欧美| 操操自拍| 激情五月婷| 六月久久狠狠| 久久精品永久免费| 久久aaa| 亚洲精品成人| 午夜爱插插| 婷婷丁香五月天操逼| 一起草AV入口| 人人操av| www超碰| 人妻无码精品一区| 色婷婷久久综合| 久99热在线观看| 五月天婷婷视频小说| 天天天天天久久久久久| 丁香五月人妻熟女| 亚洲色婷婷激情| 人人亚洲| 婷婷欧美偷拍综合| 激情婷婷五月亚洲| wWwCom夜操wwW| 99久久99久久综合| 亚洲操逼网| 婷婷黄色| 97色在线视频| 九九操操| 色噜噜狠狠色综合AV兰草影视| 精品婷婷| 99er6免费视频热播| 99热在线观看| WWW,五月天| 人妻久久久久| 激情美女五月天| 99re思思精品视频在线观看| 婷婷五月天直播| 先锋男人99资源| 白天AV月月| 69er小视频| 思思久日精品视频| 色色丁香色五月| 久久精品噜噜噜成人A∨色欲| 丁香五月色激情| 夜色爱爱亚洲| 4399高清无码视频| 91chinese 在线| 激情综合五| 99热只有精品综合| 五月丁香 久久久| 欧美婷婷五月天综合| 激情综合网 激情五月天| 夜夜撸日日骑| 另类图片五月天| 99久.| 五月婷婷激情综合| 国产毛片精品一区二区色欲黄A片| 国产SUV精品一区二区883| 色色色com| 中文字幕不卡视频| 国产精品操| 亭亭丁香aV| 丁香五月天婷婷久久综合| 五月天婷婷激情春色小说| 天天日夜夜拍| 国产成人av在线| 99热日本| 性爱111111| 久久婷网| 丁香婷婷综合五月天| 操一操| 久久久无码精品成人A片小说| 色五月天激情| av亚洲国产小电影| 色色色五月| 久久婷婷五月综合伊人| 99热精品少| 婷婷五月花西瓜| 武则天精品久久| 搡BBBB搡BBB搡18| 91 九色 入口| 月月AV| av操一操| 99精品在线观看| 综合色图婷婷| 婷婷五月天堂| 天天狠狠色| 91操片| 99五月香婷婷丁香在线视频| 色婷婷88| 99热99精品在线观看| 五月丁香婷草| 熟女色色一区二区| 最新色色五月天| 一区二区三区四区无码| Av大香蕉| 丁香九色不卡aaa| a网站免费观看| 婷婷丁香色五月| 五月婷色色| 丁香九月色| 亚洲精品乱码久久久久久按摩观| 婷婷五月天电影区小说区| 五月天婷婷色综合| 婷婷五月欧美| 婷婷黄色五月天在线视频| 五月天激情啪啪| 狠狠精品干练久久久无码中文字幕| www.99热这里精品| 亚洲 在线 性爱| 日本综合色色| av在线不卡播放| 色婷婷五月天天天做| 亚洲综合视频在线| 丁香花综合永久入口| 五月丁欧美| 久操97| 久草五月天| 久久久久9| 五月丁香网站| 99在线精品视频免费观看20| 丁香五月天激情综合| 97久人人| av五月天婷婷丁香| 99国产精品白浆在线观看免费| 美女黄频aⅴ视频| 五月天婷婷在线AN| 99热在线观看| 五月丁香怕啪啪| w婷婷五月婷婷w| 亚洲免费电影2| 天天色天天舔天天爱天天爽| 久久激情综合| 天天看A片| 97色啪| 国产亚洲av片| 天天日天天干天天插天天射| 噼里啪啦在线观看免费完整版视频| 色综合综合色| 五月丁香激情综合啪啪| 五月婷婷丁香综合,亚洲天堂| 思思综合热| 99精品在线| 五月天无码| 大香蕉精品视频| 成人版视频在线观看| 色色色无码| 久久五月天精品视频| 天天肏天天爽夜夜爽| 久久精品一区二区三区四区| 五月天激情站| a在线观看| 99久久99视频只有精品| 日韩操人| 色色五月天激情| 9|无码久久久久久| 99精品热视频| 中文字幕AV网址| 99热丁香| 色五月天丁香婷婷| 五月丁香久人妻中文| 天堂综合久久 | 天天网曰日曰夜夜综合永久免费| 丁香婷婷激情网站| 男人的天堂99| 婷婷五月天黄色小说| 超碰免费人人肏| 五月综合色播播丁香婷婷 | 中文字幕色色色| 亚洲丁香五冃97色| 亚洲色模骚货| 99re久热| 五月天激情小说| 欧美性爱中文字幕| 丁香狠狠色婷婷| 五月色色网| www婷婷| 一區四區歐美日韓| 欧美婷婷色| 丁香五月婷婷手机| 五月亭亭色| 丁香六月激情四射| 中文字幕黄色片| www.久久久久| 天天添天天摸天天天天做| tingtingcaobi| 99re这里| 成人电影在线免费试看| 九热视频| www.99热国产| 狠狠五月婷婷| 五月天综合在线观看视频| 91打屁股视频网站| 操91| 丁香成人综合| 婷婷丁香黄色| 91碰碰视频| WWW色五月天| 婷婷五月天久草在线| 五月婷婷六月丁香在线| 久久香蕉福利| 9色在线| 色五月丁香六月婷婷| 欧美WW在线网| 伊人在线视频| 五月天激情婷婷丁香| 性爱五月婷婷| 丁香六月综合激情| 色综合久久天天综合网 | 天天干夜晚夜操| 伊人激情啪啪| 国产古装妇女野外A片| 五月丁香婷婷成人综合网| 色婷婷五月综合在线| 婷婷在线视频| 婷婷开心久久| 91九九| 色99久草在线| 97操视频| 久久精彩视频99| 久久精品五月天| AA片在线观看视频在线播放| 九九热精品视频| 久久久国产精品黄毛片| AV79| 九九久久精品| 思思干精品| 97干在线视频| 伊人狠狠干| 九色视频91| 五月丁香婷婷欧美色图视频五月丁香777电影| 色播播五月| 天天爽天天日人人爱| 欧美在线视频9| 天天天天操| 99性爱视频| 五月天堂婷婷| 激情五月天综合网| 潘金莲AAAAAAAAAA| 狠狠色综合网| 五月婷婷免费看| 九九热视频网站| 玖玖婷婷五月| 久久中文网| 色五月在线观看| 丁香五月婷婷在线观看| 98毛片| 亚洲xx网| 开心色色五月天综合| 99色在线| 天天舔天天摸| 婷婷五月天激情亚洲小说| 综合色色网| 激情五月九九九| 少妇AB又爽又紧无码网站| 色婷婷偷拍| 久狠日av| 综合色天天| 九九Av| 超碰人人操| 五月丁香婷婷钟和色图| 久色| www.99婷婷| 99久久性爱| 五月丁香伊人网| 996er在线观看| 亚卅毛片| 日笨久久网| 欧州婷婷五月天综合| 99ri视频| 久久久婷| 五月丁香福利| 日本色久| 99热都是精品| 五月激情婷婷开心| 六月天无码网址| 亚洲婷婷五月天综合| 大香蕉五月天婷婷| av激情在线| 卡视频1区2区| 嫩模草| 丰满少妇乱A片无码| 久久婷色| 丁香五月偷拍| 夜夜干夜夜操| 狠狠色婷婷| 国产91视频| 97在线刺激| 激情av在线| 大香蕉久久婷婷精品综合| 婷婷五月天在线一区| 五月天激情社区| 国产在线另类五月婷婷| 中文字幕日韩无码制服诱或| 色色网站毛片| 五月天婷婷综合网| 激情99| 99热这里只有精品9| 亚洲五月花| 99爱视频在线| 五月天婷婷视频| 综合激情视频| 五月婷婷影院| 日本久久99| A片试看120分钟做受视频红杏| 国产99久久久国产精品免费看| 狼人久草| 97精品人人A片免费看| 99免费在线视频| 国产亚洲精品久久久久久郑州| 专区无日本视频高清8| 五月丁香综合激情| 国产人妻人伦精品一区二区| 青青草视频免费观看| 日本三级成人秘书精品片| 亚洲综合网在线| 影音先锋AV资源男人站| 久久ri精品视频| 亚洲在线播放| 玖玖婷婷综合| 91精品久久久久| 久久这里这里有精品免费视频| 轮奸综合网| 婷婷的五月天另类视频| 久久婷婷五月激情网站| 久8色色| 亚洲精品国产精品乱码视99| 99激情视频| 国产成人av在线| 五月天婷婷影院| 9久热精品在线视频| www...com黄在线观看| 人人操人人看97干| 色99在线视频| 丁香五月在线视频| 这里只有精品久| 天天爱天天做天天操| 激情五月天综合网| 久久久这里有精品| 亚洲精品又粗又大又爽A片 | 七七久久婷婷| 99ri国产在线| 婷婷丁香五月天综合网| 丁香五月天激情网| 婷婷五月天激情网| 天天弄天天操| 青青草青青草五月天| 伊人玖玖网| 玖玖视频福利| 丁香五月天BBw| 九九热在线精品视频| 成人片在线播放| 国产人妻人伦精品一区二区| 久在线综合69| 最新av在线观看| 亚洲爱爱无码婷婷色五月| 丁香五月天啪啪a日本| 91九色在线| 丁香婷婷成年| 欧美精产国品一二三区| 99热 在线观看| 久久婷婷六月综合综合色| 婷婷五月天色| 美女被操一区二区| 国产激情AV| 色色婷婷综合网| 久久久婷婷五月亚洲97号色| 激情视频网址| 色婷婷啪啪| 777久久精品| 五月天com| 婷婷亚洲色| 久久婷婷五月综合一| 日韩无码一区二区三区四区| 五月丁香淫淫婷婷婷| 久久只有18视频| 99热99日天天干| 成人精品在线观看| 天天操综合网站| 五月天婷婷社区| 9 1 A v久久久| 久久婷婷五月国产激情综合片| 99久久性爱| 色婷婷激情| 色婷另类| 欧美噜一噜| 99色视频| av第一二区| 色五月激情综合| AV在线中文| 一区无码| 成人必爱视| 91婷婷色五月| 丁香六月激情| 天天干,夜夜爽| av在线免费网站 | 女人被男人吃奶到高潮| 另类少妇人与禽zOZZ0性伦| 9l视频自拍九色9l视频在线观看| 天天操夜夜玩!| 六月婷婷五月天| 色www.con| 五月婷婷啪啪网| 久操操| 五月丁香久久久久| 色五月丁香六月欧美综合| www色色色com| 婷婷五月天综合网| 日日噜噜夜夜狠狠久久丁香六月| 99视频| 久久66er久久| 五月婷婷啪啪网| 操逼综合网| 夜夜撸天天日| 色色国产| 丁香婷婷久久| 99在线精品视频| 91人人爽人人操| 婷婷丁香亚洲五月天| 久久色情| 91九九| 欧美久久婷婷| 啪啪黄页网| 玖玖资源在线视频| 99九九精品视频推荐| 五月婷色丁香| 超碰在线观看9| 婷婷色系婷色| 久久视频这里有精品99| 婷婷深爱五月亚洲综合| 激情伊人五月天| 99在线精品视频| 天天干,夜夜爽| 日韩美一级毛卡片| 五月天婷婷爱| 成人在线观看国产| 99久久99热| 狠狠狠狠狠狠狠狠| 99热这里都是精品| 免费AV播放| 人人爽亚洲| 任你爽精品免费视频6| 久久HD| 亚洲激情免费视频| 久婷久婷| 极品少妇XXXX精品少妇偷拍| 99er久久| 国产精典视频在线观看| 少妇性按摩无码中文A片| 天天色,天天日,天天做| 色综合久久99色| 国产AV一区二区三区日韩| 天天婷婷综合亚洲亚洲| 99热这里是精品| 九九九九九九九九九九九九九九九九九九九在线视频 | 婷婷五月天综合亚洲| 激情五月婷婷| 99热国产国产| 五月天色色色色色| 思思热在线精品视频| 五月丁香另类网| 久9久9热久热| 婷婷久综合| 色婷婷大香蕉| 日本噜噜色网| 婷婷激情九月| 中文字幕 中文字幕明步 | 婷婷五月综合色拍| 国产精品久久久久久久久久免费| 天天操天天干天天日| 免费99情趣网视频| 六月婷婷视频| 中文字幕网伦射乱中文| 色情成人五月天| 天天成人综合| 中文字幕综合| 婷婷综合中文字幕| 日本久久天堂| 停停五月丁香| 婷婷丁香77777| 婷婷丁香综合| WWW.桔色成人.COM| 9l视频自拍9l九色9l成人| 丁香六月成人网| 99热99色| 综合激情九月婷婷,激情综合婷婷中文字| 激情丁香五月天| 久久婷婷成人综合色怡春院| 99色最新在线视频| 91艹人| 精品久9| 久久曰曰| 大香蕉久久婷婷精品综合| 我爱婷婷五月天综合88| 99在线视频色版| 激情五月天色色色| 国产精品99久久久久久久女警| 成人永久免费视频在线观看| 婷婷五月激情在线| www.天天干.com| 99久久99视频| 日本韩国视频在线观看社区免费的9| 99热免费精品| 丁香五月天视频| 九九九九九九九热| 99热 这里只有精品 国产 日韩| 综合网啪| 丁香五月伊人| 无码少妇高潮喷水A片免费| 九九久久精品| 综合婷婷五月天| 五月婷婷综合潮喷| 亚洲激情电影五月天色婷婷丁香一起草 | 开心网五月色婷婷| 五月天婷婷色小说| av操B网站| 国产日韩欧美性爱| 激情99| 天天综合网在线| 天天爽天天日天天舔| 国产热精品| 天天色综合色色色色色。|