From 87bac5c07f2ea4d65d665ac93656c9fc6a62babd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com> Date: Tue, 26 Jul 2022 11:04:22 +0200 Subject: [PATCH] caddy-frontend: Fix backend Via header for https backend Rarely used https backend was missing the backend Via additions, thus it was not transmitted there. --- software/caddy-frontend/buildout.hash.cfg | 2 +- software/caddy-frontend/templates/backend-haproxy.cfg.in | 2 ++ software/caddy-frontend/test/test.py | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/software/caddy-frontend/buildout.hash.cfg b/software/caddy-frontend/buildout.hash.cfg index bba4049fa..d88d01ce9 100644 --- a/software/caddy-frontend/buildout.hash.cfg +++ b/software/caddy-frontend/buildout.hash.cfg @@ -50,7 +50,7 @@ md5sum = 57c86795293b11300a036f5f8cf2c868 [template-backend-haproxy-configuration] _update_hash_filename_ = templates/backend-haproxy.cfg.in -md5sum = 6d4ad68ac44ccc72fe9148bd8e05a6f0 +md5sum = 81c73a4995409acb548621e5fb11d481 [template-empty] _update_hash_filename_ = templates/empty.in diff --git a/software/caddy-frontend/templates/backend-haproxy.cfg.in b/software/caddy-frontend/templates/backend-haproxy.cfg.in index 1652584f2..2e79d0514 100644 --- a/software/caddy-frontend/templates/backend-haproxy.cfg.in +++ b/software/caddy-frontend/templates/backend-haproxy.cfg.in @@ -69,6 +69,8 @@ frontend http-backend frontend https-backend bind {{ configuration['local-ipv4'] }}:{{ configuration['https-port'] }} + http-request add-header Via "%HV rapid-cdn-backend-{{ configuration['node-id'] }}-{{ configuration['version-hash'] }}" + http-response add-header Via "%HV rapid-cdn-backend-{{ configuration['node-id'] }}-{{ configuration['version-hash']}}" {%- for slave_instance in backend_slave_list -%} {{ frontend_entry(slave_instance, 'https', False) }} {%- endfor %} diff --git a/software/caddy-frontend/test/test.py b/software/caddy-frontend/test/test.py index d4e73f213..98de5234d 100644 --- a/software/caddy-frontend/test/test.py +++ b/software/caddy-frontend/test/test.py @@ -4532,6 +4532,9 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin): result.headers['Strict-Transport-Security']) self.assertEqualResultJson(result, 'Path', '/https/test-path/deeper') + self.assertBackendHeaders( + result.json()['Incoming Headers'], + parameter_dict['domain']) result_http = fakeHTTPResult( parameter_dict['domain'], -- 2.30.9