修复1panel网站部署,优化申请证书

pull/79/head
zhangchenhao 2025-05-13 12:48:27 +08:00
parent 9d9e707e68
commit ddf6412d38
2 changed files with 66 additions and 16 deletions

View File

@ -103,6 +103,53 @@ func Apply(cfg map[string]any, logger *public.Logger) (map[string]any, error) {
default: default:
return nil, fmt.Errorf("参数错误provider_id") return nil, fmt.Errorf("参数错误provider_id")
} }
var NameServers []string
if cfg["name_server"] == nil {
NameServers = []string{
"8.8.8.8:53",
"1.1.1.1:53",
}
} else {
if nameServerStr, ok := cfg["name_server"].(string); ok {
NameServers = strings.Split(nameServerStr, ",")
for i := range NameServers {
NameServers[i] = strings.TrimSpace(NameServers[i])
}
} else {
return nil, fmt.Errorf("参数错误name_server")
}
}
var skipCheck bool
if cfg["skip_check"] == nil {
skipCheck = true
} else {
switch v := cfg["skip_check"].(type) {
case int:
if v > 0 {
skipCheck = true
} else {
skipCheck = false
}
case float64:
if v > 0 {
skipCheck = true
} else {
skipCheck = false
}
case string:
if v == "true" || v == "1" {
skipCheck = true
} else {
skipCheck = false
}
case bool:
skipCheck = v
default:
return nil, fmt.Errorf("参数错误skip_check")
}
}
domainArr := strings.Split(domains, ",") domainArr := strings.Split(domains, ",")
for i := range domainArr { for i := range domainArr {
domainArr[i] = strings.TrimSpace(domainArr[i]) domainArr[i] = strings.TrimSpace(domainArr[i])
@ -232,16 +279,19 @@ func Apply(cfg map[string]any, logger *public.Logger) (map[string]any, error) {
return nil, fmt.Errorf("创建 DNS provider 失败: %v", err) return nil, fmt.Errorf("创建 DNS provider 失败: %v", err)
} }
err = client.Challenge.SetDNS01Provider(provider, if skipCheck {
dns01.WrapPreCheck(func(domain, fqdn, value string, check dns01.PreCheckFunc) (bool, error) { // 跳过预检查
// 跳过预检查 err = client.Challenge.SetDNS01Provider(provider,
return true, nil dns01.WrapPreCheck(func(domain, fqdn, value string, check dns01.PreCheckFunc) (bool, error) {
}), return true, nil
dns01.AddRecursiveNameservers([]string{ }),
"8.8.8.8:53", dns01.AddRecursiveNameservers(NameServers),
"1.1.1.1:53", )
}), } else {
) err = client.Challenge.SetDNS01Provider(provider,
dns01.AddRecursiveNameservers(NameServers),
)
}
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -95,7 +95,7 @@ func Request1panel(data *map[string]any, method, providerID, requestUrl string)
return nil, fmt.Errorf("证书部署失败") return nil, fmt.Errorf("证书部署失败")
} }
if code != 200 { if code != 200 {
msg, ok := res["msg"].(string) msg, ok := res["message"].(string)
if !ok { if !ok {
return nil, fmt.Errorf("证书部署失败") return nil, fmt.Errorf("证书部署失败")
} }
@ -184,7 +184,7 @@ func Deploy1panelSite(cfg map[string]any) error {
if !ok { if !ok {
return fmt.Errorf("获取网站参数失败: data") return fmt.Errorf("获取网站参数失败: data")
} }
SSLProtocol, ok := siteData["SSLProtocol"].(string) SSLProtocol, ok := siteData["SSLProtocol"].([]any)
if !ok { if !ok {
return fmt.Errorf("获取网站参数失败: data.SSLProtocol") return fmt.Errorf("获取网站参数失败: data.SSLProtocol")
} }
@ -216,10 +216,10 @@ func Deploy1panelSite(cfg map[string]any) error {
"enable": enable, "enable": enable,
"hsts": hsts, "hsts": hsts,
"httpConfig": httpConfig, "httpConfig": httpConfig,
// "importType": "paste", "importType": "paste",
"type": "manual", "type": "manual",
"websiteId": websiteId, "websiteId": websiteId,
} }
_, err = Request1panel(&data, "POST", providerID, fmt.Sprintf("api/v1/websites/%s/https", siteId)) _, err = Request1panel(&data, "POST", providerID, fmt.Sprintf("api/v1/websites/%s/https", siteId))
return nil return err
} }