From ee23aee6ee05c6aad8c836eb8aad77be8d6057fc Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Mon, 24 Feb 2020 11:21:31 +0100 Subject: [PATCH] added necessary basic routes for the proxy to work nicely with ocis single binary --- pkg/server/http/server.go | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/pkg/server/http/server.go b/pkg/server/http/server.go index 0f26c590a..65c04af76 100644 --- a/pkg/server/http/server.go +++ b/pkg/server/http/server.go @@ -1,10 +1,14 @@ package http import ( + "crypto/tls" "log" "net/http/httputil" "net/url" + "os" + occrypto "github.com/owncloud/ocis-konnectd/pkg/crypto" + logger "github.com/owncloud/ocis-pkg/v2/log" svc "github.com/owncloud/ocis-pkg/v2/service/http" "github.com/owncloud/ocis-proxy/pkg/version" ) @@ -13,6 +17,17 @@ import ( func Server(opts ...Option) (svc.Service, error) { options := newOptions(opts...) + // GenCert has side effects as it writes 2 files to the binary running location + occrypto.GenCert(logger.NewLogger()) + + cer, err := tls.LoadX509KeyPair("server.crt", "server.key") + if err != nil { + options.Logger.Fatal().Err(err).Msg("Could not setup TLS") + os.Exit(1) + } + + config := &tls.Config{Certificates: []tls.Certificate{cer}} + service := svc.NewService( svc.Logger(options.Logger), svc.Namespace(options.Namespace), @@ -20,6 +35,7 @@ func Server(opts ...Option) (svc.Service, error) { svc.Version(version.String), svc.Address(options.Config.HTTP.Addr), svc.Context(options.Context), + svc.TLSConfig(config), svc.Flags(options.Flags...), ) @@ -31,15 +47,18 @@ func Server(opts ...Option) (svc.Service, error) { if err != nil { log.Fatal(err) } + revaURL, err := url.Parse("http://localhost:9140") + if err != nil { + log.Fatal(err) + } service.Handle("/", httputil.NewSingleHostReverseProxy(phoenixURL)) service.Handle("/.well-known/openid-configuration", httputil.NewSingleHostReverseProxy(konnectdURL)) service.Handle("/konnect/v1/jwks.json/", httputil.NewSingleHostReverseProxy(konnectdURL)) - service.Handle("/konnect/v1/token/", httputil.NewSingleHostReverseProxy(konnectdURL)) - service.Handle("/konnect/v1/userinfo/", httputil.NewSingleHostReverseProxy(konnectdURL)) - service.Handle("/konnect/v1/static/", httputil.NewSingleHostReverseProxy(konnectdURL)) - service.Handle("/konnect/v1/session/", httputil.NewSingleHostReverseProxy(konnectdURL)) - service.Handle("/konnect/v1/register/", httputil.NewSingleHostReverseProxy(konnectdURL)) + service.Handle("/signin/", httputil.NewSingleHostReverseProxy(konnectdURL)) + service.Handle("/konnect/", httputil.NewSingleHostReverseProxy(konnectdURL)) + service.Handle("/ocs/v1.php/", httputil.NewSingleHostReverseProxy(revaURL)) + service.Handle("/remote.php/webdav/", httputil.NewSingleHostReverseProxy(revaURL)) service.Init()