Add rediretion when using https

This commit is contained in:
Marcos Lilljedahl
2017-09-08 16:14:01 -03:00
parent 3db24bf6a6
commit 19283a3c86
2 changed files with 13 additions and 2 deletions

View File

@@ -21,7 +21,7 @@ const (
var NameFilter = regexp.MustCompile(PWDHostPortGroupRegex)
var AliasFilter = regexp.MustCompile(AliasPortGroupRegex)
var SSLPortNumber, PortNumber, Key, Cert, SessionsFile, PWDContainerName, L2ContainerName, L2Subdomain, PWDCName, HashKey, SSHKeyPath, L2RouterIP string
var PortNumber, Key, Cert, SessionsFile, PWDContainerName, L2ContainerName, L2Subdomain, PWDCName, HashKey, SSHKeyPath, L2RouterIP string
var UseLetsEncrypt bool
var LetsEncryptCertsDir string
var LetsEncryptDomains stringslice
@@ -41,7 +41,7 @@ func ParseFlags() {
flag.Var(&LetsEncryptDomains, "letsencrypt-domain", "List of domains to validate with let's encrypt")
flag.StringVar(&LetsEncryptCertsDir, "letsencrypt-certs-dir", "/certs", "Path where let's encrypt certs will be stored")
flag.BoolVar(&UseLetsEncrypt, "use-letsencrypt", false, "Enabled let's encrypt tls certificates")
flag.StringVar(&PortNumber, "port", "3000", "Give a TCP port to run the application")
flag.StringVar(&PortNumber, "port", "3000", "Port number")
flag.StringVar(&Key, "key", "./pwd/server-key.pem", "Server key for SSL")
flag.StringVar(&Cert, "cert", "./pwd/server.pem", "Give a SSL cert")
flag.StringVar(&SessionsFile, "save", "./pwd/sessions", "Tell where to store sessions file")

View File

@@ -2,6 +2,7 @@ package handlers
import (
"crypto/tls"
"fmt"
"log"
"net/http"
"os"
@@ -110,6 +111,16 @@ func Register() {
httpServer.TLSConfig = &tls.Config{
GetCertificate: certManager.GetCertificate,
}
go func() {
http.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {
http.Redirect(rw, r, fmt.Sprintf("https://%s", r.Host), http.StatusMovedPermanently)
})
log.Println("Starting redirect server")
log.Fatal(http.ListenAndServe(":3001", nil))
log.Fatal(httpServer.ListenAndServe())
}()
log.Println("Listening on port " + config.PortNumber)
log.Fatal(httpServer.ListenAndServeTLS("", ""))
} else {