diff --git a/commands/local_server_ca_install.go b/commands/local_server_ca_install.go index f29a1b2d..13261060 100644 --- a/commands/local_server_ca_install.go +++ b/commands/local_server_ca_install.go @@ -22,6 +22,7 @@ package commands import ( "os" "path/filepath" + "strings" "github.com/pkg/errors" "github.com/symfony-cli/cert" @@ -38,6 +39,7 @@ var localServerCAInstallCmd = &console.Command{ Flags: []console.Flag{ &console.BoolFlag{Name: "renew", Usage: "Force generating a new CA"}, &console.BoolFlag{Name: "force", Aliases: []string{"f"}, Usage: "Force reinstalling current CA"}, + &console.StringFlag{Name: "ips", Usage: "Comma-separated list of IPs for the certificate", DefaultText: "localhost,127.0.0.1,::1"}, }, Action: func(c *console.Context) error { ui := terminal.SymfonyStyle(terminal.Stdout, terminal.Stdin) @@ -73,9 +75,13 @@ var localServerCAInstallCmd = &console.Command{ p12 := filepath.Join(homeDir, "certs", "default.p12") if _, err := os.Stat(p12); os.IsNotExist(err) { terminal.Println("Generating a default certificate for HTTPS support") - err := ca.MakeCert(p12, []string{"localhost", "127.0.0.1", "::1"}) + if c.String("ips") != "" { + err = ca.MakeCert(p12, strings.Split(c.String("ips"), ",")) + } else { + err = ca.MakeCert(p12, []string{"localhost", "127.0.0.1", "::1"}) + } if err != nil { - return errors.Wrap(err, "failed to generate a default certificate for localhost") + return errors.Wrap(err, "failed to generate a default certificate") } }