MCPcopy Index your code
hub / github.com/1Panel-dev/1Panel / UpdateSSLConfig

Function UpdateSSLConfig

agent/app/service/website_utils.go:1365–1398  ·  view source on GitHub ↗
(websiteSSL model.WebsiteSSL)

Source from the content-addressed store, hash-verified

1363}
1364
1365func UpdateSSLConfig(websiteSSL model.WebsiteSSL) error {
1366 websites, _ := websiteRepo.GetBy(websiteRepo.WithWebsiteSSLID(websiteSSL.ID))
1367 if len(websites) > 0 {
1368 for _, website := range websites {
1369 if err := createPemFile(website, websiteSSL); err != nil {
1370 return buserr.WithMap("ErrUpdateWebsiteSSL", map[string]interface{}{"name": website.PrimaryDomain, "err": err.Error()}, err)
1371 }
1372 }
1373 nginxInstall, err := getAppInstallByKey(constant.AppOpenresty)
1374 if err != nil {
1375 return err
1376 }
1377 if err := opNginx(nginxInstall.ContainerName, constant.NginxReload); err != nil {
1378 return buserr.WithErr("ErrSSLApply", err)
1379 }
1380 }
1381 if !global.IsMaster {
1382 return nil
1383 }
1384 enable, sslID := GetSystemSSL()
1385 if enable && sslID == websiteSSL.ID {
1386 fileOp := files.NewFileOp()
1387 secretDir := path.Join(global.Dir.DataDir, "secret")
1388 if err := fileOp.WriteFile(path.Join(secretDir, "server.crt"), strings.NewReader(websiteSSL.Pem), 0600); err != nil {
1389 global.LOG.Errorf("Failed to update the SSL certificate File for 1Panel System domain [%s] , err:%s", websiteSSL.PrimaryDomain, err.Error())
1390 return err
1391 }
1392 if err := fileOp.WriteFile(path.Join(secretDir, "server.key"), strings.NewReader(websiteSSL.PrivateKey), 0600); err != nil {
1393 global.LOG.Errorf("Failed to update the SSL certificate for 1Panel System domain [%s] , err:%s", websiteSSL.PrimaryDomain, err.Error())
1394 return err
1395 }
1396 }
1397 return nil
1398}
1399
1400func ChangeHSTSConfig(enable bool, includeSubDomains bool, http3Enable bool, website model.Website) error {
1401 includeDir := GetSitePath(website, SiteProxyDir)

Callers 1

UploadMethod · 0.85

Calls 8

WriteFileMethod · 0.95
createPemFileFunction · 0.85
getAppInstallByKeyFunction · 0.85
opNginxFunction · 0.85
GetSystemSSLFunction · 0.85
GetByMethod · 0.65
WithWebsiteSSLIDMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected