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 NameFilter = regexp.MustCompile(PWDHostPortGroupRegex)
var AliasFilter = regexp.MustCompile(AliasPortGroupRegex) 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 UseLetsEncrypt bool
var LetsEncryptCertsDir string var LetsEncryptCertsDir string
var LetsEncryptDomains stringslice var LetsEncryptDomains stringslice
@@ -41,7 +41,7 @@ func ParseFlags() {
flag.Var(&LetsEncryptDomains, "letsencrypt-domain", "List of domains to validate with let's encrypt") 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.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.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(&Key, "key", "./pwd/server-key.pem", "Server key for SSL")
flag.StringVar(&Cert, "cert", "./pwd/server.pem", "Give a SSL cert") flag.StringVar(&Cert, "cert", "./pwd/server.pem", "Give a SSL cert")
flag.StringVar(&SessionsFile, "save", "./pwd/sessions", "Tell where to store sessions file") flag.StringVar(&SessionsFile, "save", "./pwd/sessions", "Tell where to store sessions file")

View File

@@ -2,6 +2,7 @@ package handlers
import ( import (
"crypto/tls" "crypto/tls"
"fmt"
"log" "log"
"net/http" "net/http"
"os" "os"
@@ -110,6 +111,16 @@ func Register() {
httpServer.TLSConfig = &tls.Config{ httpServer.TLSConfig = &tls.Config{
GetCertificate: certManager.GetCertificate, 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.Println("Listening on port " + config.PortNumber)
log.Fatal(httpServer.ListenAndServeTLS("", "")) log.Fatal(httpServer.ListenAndServeTLS("", ""))
} else { } else {