Skip to content

Commit 9d3f35b

Browse files
committed
Fix AutoCert() panic issue.
I forgot to catch the http request error, this might cause an unrecoverable panic.
1 parent 74a48d3 commit 9d3f35b

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

server/tool/cert.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,17 @@ func AutoCert() {
4646
autoCertList := model.GetAutoCertList()
4747
for i := range autoCertList {
4848
domain := autoCertList[i].Domain
49-
key := GetCertInfo(domain)
49+
key, err := GetCertInfo(domain)
50+
if err != nil {
51+
// 获取证书信息失败,本次跳过
52+
continue
53+
}
5054
// 未到一个月
5155
if time.Now().Before(key.NotBefore.AddDate(0, 1, 0)) {
5256
continue
5357
}
54-
// 过一个月了
55-
err := IssueCert(domain)
58+
// 过一个月了,重新申请证书
59+
err = IssueCert(domain)
5660
if err != nil {
5761
log.Println(err)
5862
}
@@ -61,14 +65,17 @@ func AutoCert() {
6165
}
6266
}
6367

64-
func GetCertInfo(domain string) (key *x509.Certificate) {
68+
func GetCertInfo(domain string) (key *x509.Certificate, err error) {
69+
70+
var response *http.Response
71+
6572
ts := &http.Transport{
6673
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
6774
}
6875

6976
client := &http.Client{Transport: ts}
7077

71-
response, err := client.Get("https://" + domain)
78+
response, err = client.Get("https://" + domain)
7279

7380
if err != nil {
7481
return

0 commit comments

Comments
 (0)