2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 06:47:20 +08:00

feat: 优化证书生成

This commit is contained in:
2026-01-10 18:51:09 +08:00
parent 91cf5c80bf
commit abe1b709c9
2 changed files with 16 additions and 16 deletions

View File

@@ -238,14 +238,8 @@ func (r *settingRepo) GetPanel() (*request.SettingPanel, error) {
return nil, err
}
crt, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.pem"))
if err != nil {
return nil, err
}
key, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.key"))
if err != nil {
return nil, err
}
crt, _ := io.Read(filepath.Join(app.Root, "panel/storage/cert.pem"))
key, _ := io.Read(filepath.Join(app.Root, "panel/storage/cert.key"))
return &request.SettingPanel{
Name: name,

View File

@@ -362,10 +362,8 @@ func (s *CliService) HTTPSGenerate(ctx context.Context, cmd *cli.Command) error
names = append(names, rv6)
}
crt, key, err := cert.GenerateSelfSigned(names)
if err != nil {
return err
}
var crt, key []byte
var err error
if s.conf.HTTP.ACME {
ip, err := s.settingRepo.Get(biz.SettingKeyPublicIPs)
@@ -378,7 +376,7 @@ func (s *CliService) HTTPSGenerate(ctx context.Context, cmd *cli.Command) error
}
var user biz.User
if err := s.db.First(&user).Error; err != nil {
if err = s.db.First(&user).Error; err != nil {
return errors.New(s.t.Get("Failed to get a panel user: %v", err))
}
account, err := s.certAccountRepo.GetDefault(user.ID)
@@ -386,10 +384,18 @@ func (s *CliService) HTTPSGenerate(ctx context.Context, cmd *cli.Command) error
return errors.New(s.t.Get("Failed to get ACME account: %v", err))
}
crt, key, err = s.certRepo.ObtainPanel(account, ips)
if err != nil {
return errors.New(s.t.Get("Failed to obtain ACME certificate: %v", err))
if err == nil {
fmt.Println(s.t.Get("Successfully obtained SSL certificate via ACME"))
} else {
fmt.Println(s.t.Get("Failed to obtain ACME certificate, using self-signed certificate"))
}
}
if crt == nil || key == nil {
crt, key, err = cert.GenerateSelfSigned(names)
if err != nil {
return err
}
fmt.Println(s.t.Get("Successfully obtained ACME certificate"))
}
if err = io.Write(filepath.Join(app.Root, "panel/storage/cert.pem"), string(crt), 0600); err != nil {