修复https防窜站关闭时修改默认站点报错的问题 (#10490)

Co-authored-by: live <Anxys@outlook.com>
This commit is contained in:
双向极端 2025-09-26 10:21:30 +08:00 committed by GitHub
parent 8af6868694
commit de265a19b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -119,7 +119,16 @@ func updateDefaultServerConfig(enable bool) error {
}
defaultConfig.FilePath = defaultConfigPath
defaultServer := defaultConfig.FindServers()[0]
updateDefaultServer(defaultServer, nginxInstall.HttpPort, nginxInstall.HttpsPort, enable)
includeSSL := false
for _, dir := range defaultServer.GetDirectives() {
if dir.GetName() == "include" && dir.GetParameters()[0] == "/usr/local/openresty/nginx/conf/ssl/root_ssl.conf" {
includeSSL = true
break
}
}
updateDefaultServer(defaultServer, nginxInstall.HttpPort, nginxInstall.HttpsPort, enable, includeSSL)
if err = nginx.WriteConfig(defaultConfig, nginx.IndentedStyle); err != nil {
return err
}
@ -262,11 +271,13 @@ func nginxCheckAndReload(oldContent string, filePath string, containerName strin
return nil
}
func updateDefaultServer(server *components.Server, httpPort int, httpsPort int, defaultServer bool) {
func updateDefaultServer(server *components.Server, httpPort int, httpsPort int, defaultServer bool, ssl bool) {
server.UpdateListen(fmt.Sprintf("%d", httpPort), defaultServer)
server.UpdateListen(fmt.Sprintf("[::]:%d", httpPort), defaultServer)
server.UpdateListen(fmt.Sprintf("%d", httpsPort), defaultServer, "ssl")
server.UpdateListen(fmt.Sprintf("[::]:%d", httpsPort), defaultServer, "ssl")
server.UpdateListen(fmt.Sprintf("%d", httpsPort), defaultServer, "quic", "reuseport")
server.UpdateListen(fmt.Sprintf("[::]:%d", httpsPort), defaultServer, "quic", "reuseport")
if ssl {
server.UpdateListen(fmt.Sprintf("%d", httpsPort), defaultServer, "ssl")
server.UpdateListen(fmt.Sprintf("[::]:%d", httpsPort), defaultServer, "ssl")
server.UpdateListen(fmt.Sprintf("%d", httpsPort), defaultServer, "quic", "reuseport")
server.UpdateListen(fmt.Sprintf("[::]:%d", httpsPort), defaultServer, "quic", "reuseport")
}
}