From 6bd98d6792e5b1e73cad1adbf1869e3a4a3da925 Mon Sep 17 00:00:00 2001 From: Roberto Alsina Date: Sun, 7 Jul 2024 13:59:54 -0300 Subject: [PATCH] Fix forward_auth in caddy, keep proxy open when run locally --- config/Caddyfile | 2 +- src/daemon/config.cr | 7 +++++++ src/daemon/main.cr | 3 +++ src/daemon/proxy.cr | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/config/Caddyfile b/config/Caddyfile index 1ebaa3e..7b91244 100644 --- a/config/Caddyfile +++ b/config/Caddyfile @@ -6,7 +6,7 @@ http://*:8888 { forward_auth /admin/* http://127.0.0.1:3000 { - uri http://127.0.0.1:3000 + uri /auth copy_headers { Authorization } diff --git a/src/daemon/config.cr b/src/daemon/config.cr index a20aba4..f45fb25 100644 --- a/src/daemon/config.cr +++ b/src/daemon/config.cr @@ -20,6 +20,13 @@ class Config end class ConfigAuthHandler < Kemal::BasicAuth::Handler + only ["/auth"] + + def call(context) + return call_next(context) unless only_match?(context) + super + end + def initialize # Ignored, just make the compiler happy @credentials = Kemal::BasicAuth::Credentials.new({"foo" => "bar"}) diff --git a/src/daemon/main.cr b/src/daemon/main.cr index 27eaf4d..f76d08b 100644 --- a/src/daemon/main.cr +++ b/src/daemon/main.cr @@ -23,6 +23,9 @@ get "/version" do "#{version}" end +get "/auth" do +end + get "/reload" do Log.info { "Reloading configuration" } Config.load diff --git a/src/daemon/proxy.cr b/src/daemon/proxy.cr index 81c76bc..cbb3d6f 100644 --- a/src/daemon/proxy.cr +++ b/src/daemon/proxy.cr @@ -37,7 +37,7 @@ module Proxy http://*:8888 { forward_auth /admin/* http://127.0.0.1:3000 { - uri http://127.0.0.1:3000 + uri /auth copy_headers { Authorization }