vhost: Support settting requst method for proxied requests

This commit is contained in:
uumas
2025-11-22 06:43:25 +02:00
parent c151a2ee0c
commit 601d5fcdc3
4 changed files with 40 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ vhost_basicauth_users: {}
vhost_proxy_target_netproto: tcp
vhost_proxy_target_protocol: http
vhost_proxy_target_host: localhost
vhost_proxy_method: ""
vhost_proxy_headers: {}
vhost_proxy_delete_headers: []
vhost_proxy_pass_host_header: true

View File

@@ -103,6 +103,15 @@ argument_specs:
- Only applicable if vhost_type is reverse_proxy and vhost_proxy_target_netproto is unix.
type: str
required: false
vhost_proxy_method:
description: Method to set for proxied requests
type: str
required: false
default: ""
choices:
- ""
- GET
- POST
vhost_proxy_headers:
description: Dict of request headers and their values to set for proxied requests
type: dict
@@ -287,6 +296,15 @@ argument_specs:
type: str
required: false
default: "{{ vhost_proxy_target_socket if vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'unix' else '' }}"
proxy_method:
description: Method to set for proxied requests
type: str
required: false
default: "{{ vhost_proxy_method }}"
choices:
- ""
- GET
- POST
proxy_headers:
description: Dict of request headers and their values to set for proxied requests
type: dict
@@ -450,6 +468,15 @@ argument_specs:
type: str
required: false
default: "{{ vhost_proxy_target_socket if vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'unix' else '' }}"
proxy_method:
description: Method to set for proxied requests
type: str
required: false
default: "{{ vhost_proxy_method }}"
choices:
- ""
- GET
- POST
proxy_headers:
description: Dict of request headers and their values to set for proxied requests
type: dict
@@ -629,6 +656,14 @@ argument_specs:
- Only applicable if type is reverse_proxy and proxy_target_netproto is unix.
type: str
required: false
proxy_method:
description: Method to set for proxied requests
type: str
required: false
choices:
- ""
- GET
- POST
proxy_headers:
description: Dict of request headers and their values to set for proxied requests
type: dict

View File

@@ -59,6 +59,9 @@
{% endif %}
}
{% endif %}
{% if matcher.proxy_method | length > 0 %}
method {{ matcher.proxy_method }}
{% endif %}
{% for header in matcher.proxy_delete_headers %}
header_up -{{ header }}
{% endfor %}

View File

@@ -25,6 +25,7 @@ _vhost_location_defaults:
vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'tcp' else '' }}"
proxy_target_socket: "{{ vhost_proxy_target_socket if
vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'unix' else '' }}"
proxy_method: "{{ vhost_proxy_method }}"
proxy_headers: "{{ vhost_proxy_headers }}"
proxy_delete_headers: "{{ vhost_proxy_delete_headers }}"
proxy_pass_host_header: "{{ vhost_proxy_pass_host_header }}"