自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

"此網(wǎng)站無(wú)法提供安全連接"?一次 HTTPS 證書加載故障排查

運(yùn)維
部門同事反饋多個(gè)網(wǎng)站域名訪問(wèn)失敗,瀏覽器報(bào)錯(cuò)“此網(wǎng)站無(wú)法提供安全連接”,錯(cuò)誤碼為ERR_SSL_PROTOCOL_ERROR,看看如何解決。

問(wèn)題背景

某日,部門同事反饋多個(gè)網(wǎng)站域名訪問(wèn)失敗,瀏覽器報(bào)錯(cuò)“此網(wǎng)站無(wú)法提供安全連接”,錯(cuò)誤碼為ERR_SSL_PROTOCOL_ERROR。

作為運(yùn)維人員,第一反應(yīng)是 HTTPS 證書可能存在問(wèn)題,比如過(guò)期或加載失敗。環(huán)境使用的是 APISIX+ETCD部署的代理,且上一任維護(hù)者未留下任何維護(hù)文檔,這讓問(wèn)題的排查變得更加復(fù)雜。

圖片


初步檢查:證書過(guò)期的可能性排除

登錄 APISIX 的 Dashboard管理界面,發(fā)現(xiàn)證書的過(guò)期時(shí)間為2025年,可以排除證書過(guò)期的可能性。但瀏覽器依然報(bào)錯(cuò),提示無(wú)法建立安全連接。

圖片

為了進(jìn)一步確認(rèn)證書問(wèn)題,直接通過(guò) ETCD 查詢證書的 Key 值:

etcdctl get / --prefix --keys-only | grep -i ssl
/apisix-user/ssl/
/apisix-user/ssls/585922421492811006
/apisix/ssl/

通過(guò) etcdctl get /apisix-user/ssls/585922421492811006 查看證書內(nèi)容,與 Dashboard 上的證書完全一致。這表明 ETCD 數(shù)據(jù)沒(méi)有問(wèn)題,但問(wèn)題依然沒(méi)有找到。

深入分析:查看 APISIX 日志

通過(guò)查看 APISIX 的日志,發(fā)現(xiàn)以下報(bào)錯(cuò)信息

2024/12/13 06:04:00 [error] 21399#21399: *223993 [lua] 
 radixtree_sni.lua:145: match_and_set(): failed to find any 
 SSL certificate by SNI: test2.hello.cn, 
 context: ssl_certificate_by_lua*, 
 client: 120.183.123.80, server: 0.0.0.0:443

這提示 APISIX 在通過(guò) SNI 加載 SSL 證書時(shí),未能找到對(duì)應(yīng)的證書。

此時(shí)我突發(fā)奇想,在dashboard界面刪除證書,重新上傳

圖片

提交后,域名既然可以正常訪問(wèn)了,奇怪的是剛開(kāi)心不到幾秒,再次出現(xiàn)“此網(wǎng)站無(wú)法提供安全連接”現(xiàn)象,真讓人崩潰

圖片

查看apisix服務(wù)狀態(tài),發(fā)現(xiàn)服務(wù)既然重啟過(guò),這是一個(gè)異常點(diǎn),懷疑可能是 APISIX 服務(wù)不斷重啟導(dǎo)致加載失敗。

圖片

于是檢查系統(tǒng)定時(shí)任務(wù):

[root@etcd-apixi ~]# crontab -l
* * * * * /opt/apisix-cleandisk.sh

此定時(shí)任務(wù)在每分鐘運(yùn)行一次

問(wèn)題發(fā)現(xiàn):定時(shí)任務(wù)引發(fā)服務(wù)中斷

查看腳本內(nèi)容:

#!/bin/bash
threshold=50
usage=$(df -h /| awk 'NR==2{print $5}'| cut -d'%'-f1)
if["$usage"-gt "$threshold"];then
    echo "Disk usage is above $threshold%. Cleaning up logs..."
    sudo systemctl stop apisix
    sudo rm -f /usr/log/apisix/logs/*
    sudo systemctl start apisix
    echo "Log cleanup complete."
else
    echo "Disk usage is below $threshold%. No cleanup needed."
fi

這個(gè)腳本每分鐘檢查磁盤使用率是否超過(guò) 50%,若超過(guò),則停止 APISIX 服務(wù)以清理日志文件,再重啟服務(wù)。

[root@etcd-apisix logs]# df -h
Filesystem Size Used     Avail Use% Mounted on
devtmpfs        3.8G 0    3.8G 0%    /dev
tmpfs           3.9G 0    3.9G 0%    /dev/shm
tmpfs           3.9G 425M 3.5G 11%   /run
tmpfs           3.9G  0    3.9G 0%   /sys/fs/cgroup
/dev/vda1       100G  51G  50G 51%   /
tmpfs           783M 0  783M    0%   /run/user/0

檢查磁盤空間為51%,符合清理?xiàng)l件,定時(shí)任務(wù)的執(zhí)行頻率為 每分鐘一次,即便磁盤使用率低于閾值,APISIX 的日志清理邏輯也會(huì)被頻繁觸發(fā)apisix重啟。

APISIX 需要一定時(shí)間完成啟動(dòng)過(guò)程,包括證書和路由的加載。頻繁重啟會(huì)造成啟動(dòng)尚未完成,新的重啟操作已開(kāi)始,此時(shí)訪問(wèn)就會(huì)出現(xiàn)失敗。

注釋定時(shí)任務(wù)后,問(wèn)題果然解決,此次問(wèn)題排查并沒(méi)有深入的理論知識(shí),很多運(yùn)維問(wèn)題沒(méi)有頭緒時(shí),要留意定位過(guò)程中的異?,F(xiàn)象。

責(zé)任編輯:龐桂玉 來(lái)源: 運(yùn)維之美
相關(guān)推薦

2023-04-06 07:53:56

Redis連接問(wèn)題K8s

2018-07-03 10:49:22

性能故障排查

2014-11-12 11:17:32

網(wǎng)站遷移運(yùn)維

2020-08-27 21:36:50

JVM內(nèi)存泄漏

2022-10-25 08:56:16

2025-03-17 10:01:07

2020-06-12 13:26:03

線程池故障日志

2019-04-18 10:55:00

故障演練流量

2009-01-06 15:20:01

2019-03-15 16:20:45

MySQL死鎖排查命令

2017-12-19 14:00:16

數(shù)據(jù)庫(kù)MySQL死鎖排查

2021-05-13 08:51:20

GC問(wèn)題排查

2021-01-08 13:52:15

Consul微服務(wù)服務(wù)注冊(cè)中心

2011-05-06 10:32:06

硬盤鍵盤

2010-07-30 16:10:45

UPS設(shè)備燒毀故障分析

2020-10-18 12:53:29

黑科技網(wǎng)站軟件

2021-03-29 12:35:04

Kubernetes環(huán)境TCP

2023-01-04 18:32:31

線上服務(wù)代碼

2022-11-03 16:10:29

groovyfullGC

2019-01-21 11:17:13

CPU優(yōu)化定位
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)