mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-09-20 15:45:57 +08:00
fix: 解决网站设置 https 情况下,设置默认网站失败的问题 (#1023)
This commit is contained in:
parent
afa9eecf35
commit
52a8331c78
|
@ -912,7 +912,23 @@ func (w WebsiteService) OpWebsiteLog(req request.WebsiteLogReq) (*response.Websi
|
|||
func (w WebsiteService) ChangeDefaultServer(id uint) error {
|
||||
defaultWebsite, _ := websiteRepo.GetFirst(websiteRepo.WithDefaultServer())
|
||||
if defaultWebsite.ID > 0 {
|
||||
if err := updateNginxConfig(constant.NginxScopeServer, []dto.NginxParam{{Name: "listen", Params: []string{"80"}}}, &defaultWebsite); err != nil {
|
||||
params, err := getNginxParamsByKeys(constant.NginxScopeServer, []string{"listen"}, &defaultWebsite)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var changeParams []dto.NginxParam
|
||||
for _, param := range params {
|
||||
paramLen := len(param.Params)
|
||||
var newParam []string
|
||||
if paramLen > 1 && param.Params[paramLen-1] == components.DefaultServer {
|
||||
newParam = param.Params[:paramLen-1]
|
||||
}
|
||||
changeParams = append(changeParams, dto.NginxParam{
|
||||
Name: param.Name,
|
||||
Params: newParam,
|
||||
})
|
||||
}
|
||||
if err := updateNginxConfig(constant.NginxScopeServer, changeParams, &defaultWebsite); err != nil {
|
||||
return err
|
||||
}
|
||||
defaultWebsite.DefaultServer = false
|
||||
|
@ -925,7 +941,28 @@ func (w WebsiteService) ChangeDefaultServer(id uint) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := updateNginxConfig(constant.NginxScopeServer, []dto.NginxParam{{Name: "listen", Params: []string{"80", "default_server"}}}, &website); err != nil {
|
||||
params, err := getNginxParamsByKeys(constant.NginxScopeServer, []string{"listen"}, &website)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
var changeParams []dto.NginxParam
|
||||
for _, param := range params {
|
||||
paramLen := len(param.Params)
|
||||
bind := param.Params[0]
|
||||
var newParam []string
|
||||
if bind == "80" || bind == "443" || bind == "[::]:80" || bind == "[::]:443" {
|
||||
if param.Params[paramLen-1] == components.DefaultServer {
|
||||
newParam = param.Params
|
||||
} else {
|
||||
newParam = append(param.Params, components.DefaultServer)
|
||||
}
|
||||
}
|
||||
changeParams = append(changeParams, dto.NginxParam{
|
||||
Name: param.Name,
|
||||
Params: newParam,
|
||||
})
|
||||
}
|
||||
if err := updateNginxConfig(constant.NginxScopeServer, changeParams, &website); err != nil {
|
||||
return err
|
||||
}
|
||||
website.DefaultServer = true
|
||||
|
|
|
@ -65,7 +65,19 @@ func (s *Server) FindDirectives(directiveName string) []IDirective {
|
|||
directives = append(directives, directive.GetBlock().FindDirectives(directiveName)...)
|
||||
}
|
||||
}
|
||||
|
||||
if directiveName == "listen" {
|
||||
for _, listen := range s.Listens {
|
||||
params := []string{listen.Bind}
|
||||
params = append(params, listen.Parameters...)
|
||||
if listen.DefaultServer != "" {
|
||||
params = append(params, DefaultServer)
|
||||
}
|
||||
directives = append(directives, &Directive{
|
||||
Name: "listen",
|
||||
Parameters: params,
|
||||
})
|
||||
}
|
||||
}
|
||||
return directives
|
||||
}
|
||||
|
||||
|
@ -75,14 +87,12 @@ func (s *Server) UpdateDirective(key string, params []string) {
|
|||
}
|
||||
if key == "listen" {
|
||||
defaultServer := false
|
||||
if len(params) > 1 && params[1] == "default_server" {
|
||||
paramLen := len(params)
|
||||
if paramLen > 0 && params[paramLen-1] == "default_server" {
|
||||
params = params[:paramLen-1]
|
||||
defaultServer = true
|
||||
}
|
||||
if len(params) > 2 {
|
||||
s.UpdateListen(params[0], defaultServer, params[2:]...)
|
||||
} else {
|
||||
s.UpdateListen(params[0], defaultServer)
|
||||
}
|
||||
s.UpdateListen(params[0], defaultServer, params[1:]...)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -52,8 +52,8 @@ func (sl *ServerListen) GetBlock() IBlock {
|
|||
|
||||
func (sl *ServerListen) GetParameters() []string {
|
||||
params := []string{sl.Bind}
|
||||
params = append(params, sl.DefaultServer)
|
||||
params = append(params, sl.Parameters...)
|
||||
params = append(params, sl.DefaultServer)
|
||||
return params
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue