package main import ( "fmt" "net/http" "os" "strconv" ) const usage = "servetls " func main() { if len(os.Args) != 3 { fmt.Fprintf(os.Stderr, "%s\n", usage) os.Exit(1) } cert, key := os.Args[1], os.Args[2] http.HandleFunc("/", handler) port := 8443 if os.Getenv("PORT") != "" { p, err := strconv.Atoi(os.Getenv("PORT")) if err != nil { fmt.Fprintf(os.Stderr, "could not parse PORT variable: %s\n", os.Getenv("PORT")) os.Exit(1) } port = p } addr := fmt.Sprintf(":%d", port) fmt.Printf("serving on %s", addr) err := http.ListenAndServeTLS(addr, cert, key, nil) if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } } func handler(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "if you see this without complaints things are likely set up correctly\n") }