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精品成人无码A片观看金桔| 婷婷丁香激情五月天色色色| 色婷婷丁香五月色综合网| 91碰操| 色婷婷88| 婷婷综合五月天| 婷婷六月网| 淫视馆AV在线| 日韩色久| 人妻久久婷婷| 久久9999| 91亚洲免费片| 墨西哥毛片内射精| 婷婷色五月91啪啪| 久久精品凹凸分类| 狠狠精品干练久久久无码中文字幕| 激情五月天小说视频| 久草a片| 老师的粉嫩小又紧水又多A片视频| 武汉美女啪啪视频免费一级片| 六月激情网| 天天干com| 婷婷五月天av| 成人av免费观看| 日韩精品二三区| 激情五月激情综合网一级丸片| 天天日天天插| 亚洲亚洲人成综合网络| 少妇性按摩无码中文A片| 久久人人超| 日婷婷久久开心| 天天综合天天玩夜夜玩天天玩夜夜玩 | 另类视在线| 五月丁香六月情婷婷久久| 日韩色色色色色| 加勒比日本一区二区三区| 变态另类色图| 免费AV在线网址| 69久久久| 嫩模aV在线| 色婷婷AⅤ| 五月丁香久久激情综合| 欧美日本97| 欧美97超碰| 99原创自拍视频在线观看| 乱岳熟女50岁| 99精品久久久久久久久| 婷婷五月天AV在| 人人叉久| 99无码超碰| 六月婷基地| 久久婷婷五| 1769在线观看欧美国产| 99碰视频| 色很很96| 伊人深爱综合| 色你久久| 乱岳熟女50岁| 密视AV综合在线| 婷婷五月天首页激情| 日本9区视频| 91怕怕网| 操一区| 婷婷亚洲色| 大香蕉啪啪啪| 丁香五月av在线| 玖玖资源站蜜臀| 五月婷婷开心丁香| 五月天色综合| 少妇性BBB搡BBB爽爽爽视頻| 亚洲秘 无码一区二区三区妃光/1| 98国产精品综合一区二区三区| 欧美在线97| 在线看片av| 噜噜视频| 日本97在线观看| 日本97在线| 综合久久综合| 五月综合六月丁| 五月天综合在线观看| 五月天天天天天天天天天天天婷婷婷| 九九青草热| 九月激情网| 狠狠综合网| 五月丁香久久久| 久久五月热| WWW色色色COm| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 色插综合网| 五月丁香婷婷激情澎湃四射| 99日本精品视频热| 91狼友视频网页更新| 国产婷婷久久| 色狠狠伊人久久五月丁香| 婷婷五月色丁香在线看| 国产成人综合网| 国精产品一区一区三区免费视频 | 欧美日韩一区二区三区四区| 男女99免费视频| www.狠狠狠.com| 色五月天婷婷| 不卡在线视频| 激情小说五月天社区丁香| 天天插天天插| 五月丁香六月婷婷成人| 99热99干| 99热国品| 91操碰| 婷婷六月激情在线视频| 亚洲激情综合| 五月天婷婷操逼视频| 五月天婷婷色播| 欧洲色色| Av中文在线| 中文字幕AV在线播放| 能看的AV网站| 99热日本| 99热精品在线观看| 91啪啪网| 亚洲AVwwwwwww| ay2区| 色日本五月天| 婷婷干| 99色在线视频观看| 伊人玖玖网| 亚洲12p| 丁香五月色五月| 天天成人丁香美女AV| 五月天成人综合| 依人大香蕉在钱1| 91欧美| 丁香五月av在线| 婷婷月五天在线在线看| 玖玖午夜视频| 激情久久丁香| 亚洲精品婷婷| 亚洲区1| 婷婷五月丁香在线观看| 久久久久人妻| 欧美情月伍月天| 久久婷婷五月免费视频| 久久婷婷桃花五月天| 日本天天综合| 八戒青柠影视剧在线观看| 色色爽爽天天| 日韩另类| 精品思思久久| 五月天婷婷激情| 色综合久久88色综合天天99| 激情综合色图| 超碰97干| 9久久精品| 六月婷婷综合久久| 97超碰人人操| 99热福利| 亚洲亚洲人成综合网络| 婷婷九月激情网| 婷婷爱五月| 久久伊人婷婷| 国产67194| 大香蕉天堂| 五月精品| 九月丁香| 丁香六月婷婷| 亚洲精品性色| 亚洲免费电影2| 婷婷六月天亚州| 亚洲精品无AMM毛片| 亚洲国产精品成人免费一区久久久在线观看AAAA | 亚洲精品视频在线| 亚洲综合网激情小说| 五月天婷婷久久| 看黄的网站18禁| 五月丁香啪啪激情| 丁香六月天AV| 8050一级网| 中国AV性爱观看| 亚洲妇女熟BBW| 综合久色五月| 91丁香婷婷综合久久欧美| wwwwww.色| 999热这里只有美国精品| 人人看人人要| 婷婷婷久久久| 可以免费观看的AV| 久久九九99亚洲国产久精综合| www.日日夜夜.com| 2025最新亚洲激情在线| 久久婷婷五月综合色和| 五月天激情啪啪| 日本一级一片免费视频| 亚洲无码99| anquye五月| 婷婷国产五月天17c| 五月婷婷视频在线观看| 都市激情久久| 日韩久久日| 久久久久99精品成人网站| 免费视频无码| 五月丁香久久久日婷婷久久婷婷日 | 久久婷婷影院| 天天五月情| 98色丁香五月婷婷综合网| 天天日天天干天天操| 九九热99免费视频| 五月激情小说| 人人摸人人| 婷婷人人操| 色色a| 婷婷永久在线| 极品色丁香| 久久久这里有精品| 吉澤明步Av一區二區| 9九色首页| 色播五月| 五月婷婷婷| 丁香五月天.com| 涩五月婷婷| 色情五月天首页| 国产高潮白浆一区二区| 人人操五月天| www.99热这里精品| 99热精品少| 婷婷视频在线| 婷色五月| 激情VA视频| 99视频久久| 成人午夜天| 激情小说婷婷| 久久婷婷欧美| 热99精品视频在线观看| 婷婷五月天天爽| 少妇丁香婷婷| 蜜乳人妻一区二区三区| 免费超碰在线观看| 丁香六月婷婷色XXXXX| 丁香网五月网| 五月激情四射婷婷丁香| 久久性刺激| 欧美情色一区| 久久五月天婷婷| 婷婷激情五月综合| 色婷婷激情视频| 久久婷婷啪啪视频| 国产综合丁香五月天| 激情五月天影院| www.99热视频| 五月深爱激情网| 五月花综合| 91美女啪啪| 啪啪一区| 久久九九色| 天天干,夜夜爽| 伊人丁香婷婷东京| 这里只有精品,日韩视频| 4438成人电影| 9久久网| .青娱乐天天操B| 欧美性爱五月天| 少妇激情五月天| 婷婷深爱五月天在线| 亚洲综合五月天婷婷丁香| 国产精品男人AV不卡| 夜夜躁爽日日| 日日操日日撸| 狠狠操狠狠操| 色情五月综合婷婷| 成人婷婷五月天| 日本片日本片祼观看网站在线看中文版网页在线看| 色色影院黄大片| 无码视频国内精品久久久| 色综合色综合网| 中文字幕永久在线| 色欲婷婷五月天| 色婷久| 久久婷婷六月综合| 久久99网| 丁香六月婷| 青草少妇激情| 六九色综合婷婷五月天| 综合XX网| 99精品久久久| 五月婷婷av| 99精品热视频| 97福利视频| 成人婷99最新| 激情五月婷婷丁香| 五月丁香婷婷欧美| 另类小说五月天| 色999五月色| 五月天婷婷激情在线色图| 五月婷婷色播| 激情丁香五月天| 婷婷五月天电影网| 青青草国产亚洲精品久久| 丁香六月婷婷| 成人做爰黄A片免费看直播室男男| 亚洲美女网Va| 六月丁香综合| 色五月在线播放| 成人精品一区二区三区四区五区| 操97免费超级视频| 91九色首页| 99久久久久| 丁香六月婷婷五月天| 99热香港| 丁香五月激情啪啪| 色丁香婷婷| 26uuu成人网| 色婷婷狠狠| 九月丁香| 伊人成综合五月婷婷| 久久久久婷| 六月婷婷综合激情| 青青操绿aaa一区日v| 再綫Av免费視品| 九九久久99| 丁香六月天堂| 99精品久久久| 亚洲性爱AV在线| 丁香色色五月| 九月丁香亭亭| 久久婷婷丁香六月天| 久久婷婷激情视频| WWW.99热| 狠狠婷婷综合| 婷婷五月AV| 26uuu国产色| 操逼在线视频| 国产精品日日躁夜夜躁| 亚洲欧洲中文日韩久久AV乱码| 久色视频| 97操碰在线97| 桃色五月婷婷| 婷婷五月天成人小说| 日本色色网站| 丁香五月婷婷激情123| 五月婷婷丁香社区| 久久久激情| 婷婷丁香色女人| 丁香六月激情四射| 精品免费99| 久热69| 99热免费| 影音先锋91资源站| 好吊丝aV| 丁香婷婷网| 丁香婷婷狠狠97| 国产综合婷婷| 精品皮股午夜AV| 五月天婷婷色色网| 激情精品久久| 97色色色视屏| 激情综合在线观看| 天天色五月婷婷91久久久久久久| 婷婷色基地在线看| 久久婷婷色丁香| 五月丁香婷婷导航视频| 不卡在线中文字幕无| 91久久综合亚洲噜噜成人在线| 9久热在线视频精品| 6月丁香婷婷激情| WWW.17C亚洲精品| 成人看片网站| 大香蕉综合| 激情五月天色婷婷| 中文字幕无码人妻少妇免费视频| 六月丁香天堂| 久8色色| 99天堂网| 九九色播五月丁香| 99资源人人| 免費亭亭成人| 五月婷婷激情久久| 91丨九色丨熟女丰满| 色了色综合| 天天噜噜| 久99热| 亚洲五月天婷婷| A片试看120分钟做受图片| 久久总和99| 日韩欧美一级大黄网站| 亚洲激情四射色| 久久机热这里只有精品免费视频| 思思热在线视频99| 婷婷五月天伊人| 久久狼人天堂| 操逼视频一区| 激情五月综合久久| A久久| 激情五月天。| 婷婷五月天论坛| 久色网| 日韩久热| 五月天开心色情网| 九九综合伊人| 99操碰| 99亚洲精美视频在线观看| 久久欧洲综合网| 五月丁香六月| 思思久久精品视频| 99噜噜噜在线播放| 青青草蜜臀| 99精品偷自拍| 五月丁香六月激情综合在线| 小香蕉av| 激情网综合| ztEJj| 天天操天天日天天爽| 天天日天天插| 啪啪啪大香蕉| 婷婷黄色五月天在线视频| 久久久激情| 狠狠做六月爱婷婷综合aⅴ| 67194国产| 色色综合成人网| 九九热99热| 久久九色| 久久99热这里只频精品6学生| 黄色一极大片| 七七九色| av九九| 亚洲激情综合网| 99re视频在线播放| 九九香蕉网| 夜夜躁狠狠| 亚洲亚洲人成综合网络| 亚洲狠狠狠| av人人操| www.91在线观看| 天天肏在线观看| 性爱视频99| 丁香五月狠狠在线观看| 色吧婷婷五月亚洲| 五月亭亭六月天| 玖玖爱导航| 男人天堂99| 久久色情| 五月J香蕉婷婷| 人人摸人人干人人做| 亚洲成人中文字幕| 丁香久久| 91无码视频| 无码天天操| 国产精产国品一二三在观看| 五月天久久网站| 超碰97色| 色五月婷婷影院| 婷婷丁香色五月天久久88| 一本色道久久88综合日韩精品| 色五月天丁香婷婷| 啪啪啪大香蕉| 婷婷激情社区| 久久综合中文| 九九热在线视频,| AⅤ在线播放网| 中文资源在线a | 麻豆精品| 国自产拍偷拍精品啪啪一区二区| 99热6这里只有精品6| 黄色热99| 大香蕉婷婷久久| 婷婷的五月天另类视频| 五月婷婷丁香六月| 丰满老熟妇BBBBB搡BBB| 五月天婷婷伊人| 小视频在线亚洲| 丁香香蕉婷婷| 人妻丰满精品一区二区A片| WWW五月| 97精品欧美91久久久久久久| 综合色七七| 欧美久久网| 丁香五月综合图片在线观看| 婷婷丁香九月| 91亚洲视频| 日日夜夜天天综合| 天天爽天天摸天天爱| 看婷婷五月天网| 丁香五月天影院| www.minyis.com【JT】实力收量可预付QQ2101460746 | 天天干天天干天天| 婷婷综合精品| 亚美欧色影院| 五月丁六月香av| 中文字幕综合| 狠狠干狠狠操狠狠爱| 91狠狠色丁香婷婷综合久久| 伊人成综合五月婷婷| 免费观看的av| 综合激情在线视频| 热99这就是精品视频| 视色网在线播放| 黄色精品五月婷婷| 婷婷五月激情综合啪啪| 婷婷影院A成人| 大香蕉久久| 丁婷婷五月天在线播放| 综合五月激情| 色五月婷婷、老熟女| 色5月婷婷色| 丝袜熟女一区二区三区| 青草青草视频2免费观看| 亚韩在线视频| 五月天婷婷成人网| 久久ab| 色五月婷婷、老熟女| 国产成人网站在线观看| 久久99大全| 在线观看日韩12345区| 九月婷婷| 久/久精品99看9| 五月婷久久| 啪啪操超碰| 伊人五月天在线| 综合综合网| 日本va欧美va精品发布视频| 激情综合青草| 激情五月伊人婷婷| 激情综合自拍五月婷婷色五月| 婷婷丁香成人色综合| 五月丁香香蕉| 亚洲综合色色色| 9久热在线视频精品| 泰州成人视频| 久久99网| 综合狠狠干| 97久人人| 玖玖爱资源站| 久久99婷婷| 在线你懂的亚洲欧| 婷婷九月激情| ww亚洲ww在线观看| 久热这里只有精品在线观看| 免费精品66| 欧美日韩AAAAA| 婷婷四月 成人 狠狠干| 色五月丁香总合网| 狠狠狠激情网| 五月婷婷自拍视频| 五月婷婷丁香社区| 在线观看婷婷5月| 色五月婷婷综合在线| 久操97| 亚洲成人av在线播放| 亚洲婷婷欧美婷婷| 玖玖99免费视频| 狠狠操综合| 九九亚洲| 激情图片亚洲| 久久 中文 日本| 综合亚洲AV| 色婷婷五月天成人网| 色婷婷丁香综合中文字幕| 99视频久久| 色婷婷婷av| 婷婷五月天无码熟女| www.伊人天堂偷偷婷婷| 五月婷婷久草在线视频综合| 97欧美在线| 91成人性爱视频| 久久久天堂国产精品女人| 精品国产乱码久久久久久免费| 日本天堂爱爱| 天天日天天操心| 欧美大片| 婷婷六月综合基地| 婷婷综合另类小说| 9这里只有精品| 91热网址| 色情五月丁香婷婷网| 丁香五月成人论坛| 思思久久精品| 综合久久99| 国产性av| 99riAV国产精品视频| 开心久久五月天| 色色色色色色97| 99精品综合视频| 色综合天天综合成人网| 婷婷五月,综合伊人| 丁香五月综合无码趴趴| 久久婷婷六月| 开心婷婷丁香五月| 99激情视频| 在线免费观看激情视频| 婷婷久久久久| 色狠狠综合| 婷婷色九月| 亚洲乱码日产精品BD| 人操人| 色 免费网站视频| 婷婷激情啪啪| 夜夜骑夜夜操| 国内在线99视频| 精热在线综合网| 色五月六月| 在线只有精品| 久久婷综合网| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 大香蕉手机视频| 色域五月丁香| 五月天色播网| 天天日天天插| 91免费啪视频| 激情文学天天| 人人妻人人澡| 欧亚中文A V| 色色色在线免费视频| 开心婷婷五月| 色99综合色88| 五月丁香婷婷无码中文| 色五月五月婷婷| 99久久婷婷精品视频| www久久久| 色小说五月天| 我淫我色婷婷五月天激情四射| 日韩精品无码AV| 成人小说 五月天 婷婷| 色播六月| 都市激情亚洲| 欧美色色色色色色色| 操91| 色色99| 国产精品色婷婷久久久精品| 久久免费干| 五月情综合| 五月婷婷香| 91九色国产熟女| 五月天激情AV| 激情综合网激情五月丁香五月俺也去| 一区三区视频有限公司| 五月婷婷网站| 操大屄五月天视频| 婷婷区日本| 亚洲色频| 五月天婷婷色在线视频免费观看| 国产精品热搜丁香五月婷婷| 色天堂婷婷| 伦乱美欧| 深爱五月天| 五月天婷婷午夜丁香| 伊人玖玖网| 九九精品99久久久| 久草热在线视频| AV在线不卡网站| 婷婷五月色综合| 黄色国久久| 激情亚洲色图片丁香综合| 久久97| 久久这里面只有精品视频| 久久99热这里只有精品| 成人噜噜网| 五月婷婷啪| 亚洲六月婷婷| 五月婷婷五月天| 无码人妻激情| 99热精品免费| 丁香 婷婷五月| 亚洲中文字幕在线观看| 色婷婷伦理| 日韩国产在线精品| A网在线欧洲| 91大屁股在线| 丁香五月婷婷视频| 六月丁香六月婷婷欧美| 91九九| 嫩草AV久久伊人妇女超级A| 婷婷五月天小说| 五月婷婷色综图片| 91免费啪视频| 六月激情综合| 五月婷婷AV| av在线资源| 色情播放| 97久操| 九九性爱网| 五月色网| 亚洲精品V天堂中文字幕| 久久AV电影| 99热精品网| 丁香九月综合激情| 五月天合网| 久久五月婷综合| 26uuu在线观看| 五月丁香无码| 大地资源色婷婷视频在线| 六月丁香婷婷在线波多| 99.N在线视频| 丁香五月久久| 六月丁香久久| 久久丁香五月天| 中文字幕无码人妻少妇免费视频| 77799热| 99re8热精品免费视频| 人人播| 亚洲一个色| 九九九激情网| 久久99久久99精品免视看婷| 色五月丁香激情| 美女xx不卡| 涩五月婷婷| 99久久综合精品五月天| 久久嘟嘟丁香| 亚洲乱码精品久久久久..| 99热在线这里| 人妻久久久久久久久妻久久久久久久久| 第四色激情网| 六月婷婷激情小说网| 大香蕉久热| 麻豆WWWCOM内射软件| 天天日天天操心| 综合综合色色| 日本操片| 伊人网色婷婷五月天| 蜜臀99精品| 人人干天天操五月丁香| 噜噜色五月| 色色欧美色色色| 影音先锋噜一噜| 欧洲高清免费久久| 激情综合亚洲| 国产a视频| 五月天伊人| 亚洲综合五月天婷婷丁香| 婷婷五月天xxx| 久久久宗合| 67久久| 色丁香久久| 婷婷五月天AV在线| 五月天激情久色| 激情小说五月天社区丁香| 日韩成人影片在线观看| 丁香六月婷婷久久综合| 91大神操美女| 色色网站在线| 婷婷五月久久| 久久五月丁香伊人青草| 97视频91| 99免费在线视频| 五月丁香婷婷伊人| 婷婷五月天影院| www.色婷婷.com| 99热这里只有精品最新地址获取| 香蕉大综综综合久久| 熟女色色一区二区| 欧美色婷婷| 婷婷五月色情天| 五月丁香啪啪| 丁香五月另类小说| 激情综合网 激情五月天| 亭亭丁香久久五月| 香蕉久久国产AV一区二区| 婷婷五月丁香综合桃花色网| 九九丁香社区欧美激情| 国产精品扒开腿做爽爽爽A片唱戏| 色在线视频网2025| 天天日天天做天天操| 91精品熟女| 九月丁香婷婷综合激情| 99久热| 色欲av伊人久久大香线蕉影院 | 91人妻色色网| 婷婷综合五月天| www激情网站| 大香蕉人人网| 婷婷新网址| 婷婷狠狠香蕉综合| 色五月激情图片| 骚逼视频一区2区| 丁香五月婷婷图片综合| 国产精品人成A片一区二区| 狠狠综合网| 天天操综合网| 丁香五月婷婷啪啪| 婷婷五月丁香五月| 成人做爰A片免费看视频| 五月天社区| 99热这里只有精品66| 99热日韩| 五月丁香六月婷婷网| 五月婷婷片| 婷婷五月丁香五月| 五月天婷婷综合| 99热9| 99国产精品白浆在线观看免费| 五月伊人网| 久操热线| 激情五月天影院| 亚洲成人免费在线| 日本欧美成人片AAAA| 人妻丰满精品一区二区A片| 99在线精品免费视频| WwW色婷婷| 久久日婷婷| ...婷婷五月综合不卡,国产在线手机| 国产精品久久久久久妇女6080| PORNY九色9l自拍视频成人| AV在线免费网站| 五月婷婷开心网| 日韩操人| 五月天婷婷狂暴白浆| 男人的天堂av俄罗斯热| 偷拍九九五月丁香婷婷| 五月丁香啪啪啪综合网| 婷婷色五月偷拍| 色爱终和网| 成功精品影院| 色婷婷视频在线| 国外亚洲成AV人片在线观看 | 97色婷| 日本va欧美va国产激情| 成熟妇人A片免费看网站| 婷婷五月丁香基| 我去色色网五雨天| 26UUU精品一区二区| 久久婷五月| 五月精品99综合| 色99www.| 99er精品| 色色色色色爱| 亚洲成人AV在线播放| 九九热精品在线| 无码字幕中文| 91avse| 激情综合网婷婷久久| 婷婷丁香五月亚洲综合网在线视频观看| 襙比视频| 日本天天色| 99性爱| 亚洲成人精品三区| 99ri在线观看视频| 2020夜夜操天天爽| 五月天婷婷视频小说| 国产午夜一区二区三区| 超碰操日| 五月天婷婷色| 色情五月停停丁香| 99精品在这里| 婷婷天天五月天| 99婷婷| 激情深爱五月| 婷婷五月天福利| 五月婷天堂视频| 伊人丁香六月婷婷| 2025色婷婷| 五月色丁香| 免费97碰碰| 丁香五月宝贝激情网| 久久久99免费视频| 国产肥白大熟妇BBBB视频| 2022人人操人人看| 亚洲色域网| 伊人婷婷大香蕉| 91狼友视频在线观看| 热中文字幕| 99综合| 久草热8精品视频在线观看 | 色色无码| 久久久久婷| 第四色婷婷五月| 午夜丁香婷婷| 69综合在线| 色噜综| 狠狠狠狠狠狠| 色偷偷色婷婷| 色婷婷小说| 伊人综合网站| 丁香久久| 4438激情网| 久久五月天 91| 国产欧美日韩一区二区三区| 亚洲综合九九| 六月丁香激情| 99热这里只有精品最新| 大学生高潮无套内谢视频| 久久综合首页| 99精品亚洲| 欧美日韩成人综合9| 久久99热这里只有精品23| 99操久久| av免费在线网站| 五月婷婷丁香瑟瑟视频| 黄色视频网站在线播放| 色五月丁香五月激情五月激情| 天天谢天天操| 激情小说色五月| 丁香五月婷婷六月婷| 亚洲超碰在线| WWW,五月天| 无码人妻激情| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 久草xx性爱视频| 亚洲婷婷五月天| 99热99在线| 色吧综合网| 综合99久久| 先锋资源91| 色9月| 亚洲六月婷婷| 午夜日韩久久久网站| 丁香五月婷婷六月| 变态另类色图 | 五月婷婷av| 91久久婷婷| 亚州色婷婷| 丁香五月中文字幕| 六月99天天婷婷激情综合| 啪啪黄页网| 五月天色色婷婷| 99riAV国产精品视频| 性爱视频久久| 91无码高清| 日本99在线视频| 色色五月天丁香| 成人午夜无码视频| 国产激情综合五月久久| 99啪啪| 99免费成人网| 日韩成人无码| 国产精品久久久丁香五月八戒视频| 狠狠色综合网| 色婷婷丁香网| 亚洲精品久久久久久久久久吃药| 丁香五月激情啪| 4399成人黄A片| 色九月婷婷| 九九99久久| 人妻肉射免费观看| 五月天色软件| 久久99网| 九九色99| 99热这里有精品| 五月丁香六月婷婷在线播放| 国产欧美大香蕉一区| 五月色综合网| 婷婷99视频精品| 99re久久| 婷婷五月天人妻| 狠狠色噜噜色狠狠狠综合色| 激情綜合網址| 六月丁香婷婷拍拍| 欧美69久成人做爰视频| 色女伊人| 婷婷综合精品| 粉嫩AV久久一区二区三区| 狠狠五月激情婷婷直播片| www.五月婷| 色九月婷婷| 五月丁香在线国产| 9 大屁股在线视频精品| 99九九热在线观看| 婷婷五月丁香六月伊人网| 五月婷婷黄色网址| 女人天堂久久| 激情影院内射| 日韩AV在线电影| 超碰在线看| 六月婷婷狠狠做| 无码动漫av| 五月激情啪啪| 丁香五月成人av| 五月丁香成人网| 狠狠爱深色婷婷综合| 色偷偷五月天| 色9色| 成人短视频免费观看| 51国精产品自偷自偷综合| 五月婷AV| 日本色色色| 日韩欧美成人网| 成人在线网址| 色小说五月婷婷| 色哟哟精品| 九色综合网| 超碰九九热| 久久66精品| 97碰啪啪| 91n网站cad入口在线观看| 色色色色色色色色综合网| 伍月婷婷六月丁香| 丁香五月天激情| 婷婷99狠| 五月婷丁香| 高清无码入口| 五月天色婷婷图片| 久久网日本| 婷婷五月天久久久| 国产99美少妇| 欧美人人女女精品综合五月天| 大香蕉婷婷五月| 丁香婷婷五月六月天| 91色噜噜狠狠狠狠色综合| 丁香六月婷婷缴情欧美| 伊人久久艹| 日本色狠狠| 激情综合五月.....| 婷婷五月天堂| 日日操夜夜操中国无码| 国产乱子轮XXX农村| 国产精品视频免费看| 婷婷五月骚厕所| 婷婷四月 成人 狠狠干| 九九热在线99| 国产激情一区| 性做爰1一7伦| 色色色9| 天天爽天天操| 国产高清精品色| 99在线观看视频精品| 久久新| 亚洲精品444久久久久久| 97碰碰碰免费公开在线视频| 99视频精品| 色五月 五月婷婷| 激情九九综合网| 99色看这里只有精品| 99久久网站| 久久综合中文字幕| OUMEIRIHANCHENGREN| 日本eVa一区=区视频| 婷婷五月天AV| 五月亭亭六月天| 久久综合影院 | 国产小精品| 综合久久婷婷| 色99在线观看| 天堂网啪啪| 婷婷五月av| 性色视频| 美女美女美女三级色天天天天天| 日本三级黄色大片| xxxx久| WWW·色色色·COM| 婷婷五月天你懂的| AV六月丁香| 丁香五月婷婷老师网站| 亚洲无码 图片区| av操逼网| 伊人在线视频| 免费看欧美成人A片无码| 色99网| 色色激情网| 99日本黄站| 色色免费网站| 国产成人AV在线| 五月婷婷啪啪啪| 日本啪啪网| 婷婷的99视频网站| www.色五月.com| 国产综合色婷婷精品久久| 色婷婷免费观看| 亚洲精品无码久久| 婷婷99狠狠| 亚洲精品视频在线播放| 天天日天天摸| 99综合网| 99在线精品免费视频| 午夜天天精品视频| 五月天丁香啪啪网| 大香蕉网 久久| 日韩成人电影av| 啪啪夜久久| 日本三级中文字幕| 五月丁香美女视频| 色婷丁香五月| 日韩成人精品一区久久久久| wwwC0maV五月花| 五月丁香六月婷婷综合| 五月丁香五月婷婷| 日良久久| 丁香五月影院| 丁香香蕉射射射| 91人人妻人人操人人爽| 91久久免费| 久热 91| 国产乱码久久| 五月丁香久久丝袜啪啪| 天天干狠狠| 六月婷久久| 久久小视频| 大香蕉久久视频久久视频| www久久久久久久| 91久久九久久九久久九久久九久久 | 国产婷婷婷| 91九色在线观看免费| 激情久久肏屄视频| 涩综合在线| 人妻精品久久久久久| 这里有精品| 丁香五月天综合| aV直接看| 婷婷五月色图| 思思热闹这里只有精品| 国产精品蜜臀99| 亚洲激情久久| 天天舔天天爽| 黄色av网站在线免费播放| 在线视频激情网站| 99成人网一区| 日日肏夜夜干| 激情四射网| 极品少妇高潮啪啪AV无码| www.九月婷婷丁香.com| www色婷婷| 91久久人人操| 久久久18| 天天做天天爱综合| 日本综合久久| 婷婷丁香五月天综合在线日韩| 婷婷丁香九色| 97五月天婷婷综合激情网| www.天天干.com| 成人色五婷婷| 久久综合九九| 99久久亚洲国产| 99re思思在线视频| 丁香五月偷拍| 大战熟女丰满人妻AV| 色色色区| 久久久区区一久久久久久| 五月婷婷欧美| 五月丁香 狠狠爱| 天天久久人人| 五月婷婷综合潮喷| 激情丁香五月天| 影院久久久| 99热精品少| 综合99久久天天综合| 国产精品a无线| 欧美色宗和激情| 天天精品视频在线观看视频| 97天堂| 五月天婷婷色色首页| 九九热这里有精品23| h在线看免费版在线看| 国产免费性爱| 任你草| 狠狠操狠狠| 丁香五月婷婷图片综合| 婷婷激情五月| 激情五月婷婷视频一区二区三区| 91婷婷在线| 97操男人的天堂| 青青草a在线| 99久久久久久| 九九精品re免费视频| 亚洲激情丁香五月基地| 久久久久婷婷| 99久久精彩视频| 人人看人人要| 色优久久| 日韩亚洲视频| 国产精品色婷婷久久久精品| 黄色激情网站在线观看| 98毛片| 久久婷综合| 超碰猛烈的性猛交| 五月天精品综合| 国产精品18久久久| 婷婷六月丁香在线| 无码啪啪| 人人操人人干AV| 丁香婷婷影院| 狠狠爱婷婷五月天| 五月婷婷影视| 色五月婷婷五月天| 伊人五月天综合网| 激情久久五月天| 九九热99视频在线| 激情综合网五月天| BlACKEDRAW视频一区二区| 99色1| 久久精品一区二区三区四区| 亚洲五月天综合色| 俺去也五月天婷婷| 丁香激情网| 色色色婷婷五月| 日本天堂免费99| 亚洲视频99| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 79精品在线视频| 超碰91在线| VA日本视频| 色五月激情网| 大香蕉久久伊人婷婷五月丁香| 丁香五月色欲| 色色色色色九九九九九| 五月激情网综合| 91色五月在线观看| 激情网五月婷婷| 激情婷婷激情在线不卡| 青青草原福利在线| 大鸡巴伊人网| 国产三级秋霞| 免费操超碰| 五月丁香成人小说| 69综合在线| 日本九九视频| 六月丁香婷婷综合狠狠爱夜夜爱| www.婷婷,com| 91在线操逼视频| 秋霞网在线观看理论91| 9色婷婷| 深爱五月月天| 日日操天天操| 秋霞午夜理论| 狠狠做婷婷| 日日日日做夜夜夜夜无码| 丁香激情五月| 亚洲婷婷丁香五月天激情小说| 超碰99热精品| 欧美丁香五月97色| www.99久久久| 五月丁香六月综合情在线观看| 天天色噜| 九洲一级A片| 99亚洲天堂| 色色色99韩| 伊人婷婷福利网| 人妻内射视频| 97香蕉久久超级碰碰高清版 | 五月丁香av中文| 色五月婷婷基地| 色婷婷五月天激情综合| 97超碰色| www.射伊蕉婷婷| 黄色大片又大粗又爽| 国产真人做爰视频免费| 亭亭社区五月天| 亚洲一级AV在线免费播放| 五月香婷婷| 五月色导航| 婷婷五月乱交换| 99久久久久| sewuyue第四色| 9色免费网| 9999久久久久| caopeng97日韩| 91人人人人人人人| 免费婷婷| 美女100%露全身无挡网站| 玖玖玖婷婷婷| 国产超碰在线| 狠狠草综合网| 内射综合网| 日本4399天堂中出| 夜夜爽天天爽| 熟女激情网| 99超级超级超级碰| 亚洲中文字幕网| 色久免费| 九九99精品视频| 乱岳熟女50岁| 色综合九九| 五月激情婷婷播播网| 丁香激情五月少妇| 人人草人人舔| 99久在线精品99re8热| 久久网站免费亚洲| 激情五月瑟瑟| 99热综合| 亚洲天堂色色| AV五月丁香| 婷婷色情网| 欧美A A A A A|