summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex W <embezzle.dev@proton.me>2024-05-21 23:25:06 +0100
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-05-23 19:24:18 +0000
commit6c25888fe0e3773cb21b31ffac08c44af5d68a68 (patch)
tree4a87e95554462e45b482b260309d7da67cb8d694 /src
parent371517c4dcf91d07a2145f0a1a1dc52762464ed6 (diff)
downloadvyos-1x-6c25888fe0e3773cb21b31ffac08c44af5d68a68.tar.gz
vyos-1x-6c25888fe0e3773cb21b31ffac08c44af5d68a68.zip
reverse-proxy: T6370: Set custom HTTP headers in reverse-proxy responses
(cherry picked from commit e1450096b4c667a4c33a3fcd8f67ebf6a39d441d)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/load-balancing_reverse-proxy.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/conf_mode/load-balancing_reverse-proxy.py b/src/conf_mode/load-balancing_reverse-proxy.py
index 1569d8d71..a4efb1cd8 100755
--- a/src/conf_mode/load-balancing_reverse-proxy.py
+++ b/src/conf_mode/load-balancing_reverse-proxy.py
@@ -88,6 +88,12 @@ def verify(lb):
if {'send_proxy', 'send_proxy_v2'} <= set(bk_server_conf):
raise ConfigError(f'Cannot use both "send-proxy" and "send-proxy-v2" for server "{bk_server}"')
+ # Check if http-response-headers are configured in any frontend/backend where mode != http
+ for group in ['service', 'backend']:
+ for config_name, config in lb[group].items():
+ if 'http_response_headers' in config and ('mode' not in config or config['mode'] != 'http'):
+ raise ConfigError(f'{group} {config_name} must be set to http mode to use http_response_headers!')
+
if 'ssl' in back_config:
if {'no_verify', 'ca_certificate'} <= set(back_config['ssl']):
raise ConfigError(f'backend {back} cannot have both ssl options no-verify and ca-certificate set!')