vhost: support proxying to unix sockets

This commit is contained in:
uumas
2024-07-28 17:45:50 +03:00
parent 1dc6ea7f8e
commit b892da1b89
4 changed files with 76 additions and 22 deletions

View File

@@ -62,23 +62,45 @@ argument_specs:
required: false
default: {}
vhost_proxy_target_port:
description: Port where to proxy requests to. Only applicable if vhost_type is reverse_proxy
type: int
required: "{{ vhost_state == 'present' and vhost_type == 'reverse_proxy' }}"
vhost_proxy_target_host:
description: Host where to proxy requests to. Only applicable if vhost_type is reverse_proxy
vhost_proxy_target_netproto:
description:
- Network protocol to use for proxy requests.
- Only applicable if vhost_type is reverse_proxy.
type: str
required: false
default: localhost
default: tcp
choices:
- tcp
- unix
vhost_proxy_target_protocol:
description: Protocol to use for proxy requests. Only applicable if vhost_type is reverse_proxy
description:
- Transport protocol (scheme) to use for proxy requests.
- Only applicable if vhost_type is reverse_proxy.
type: str
required: false
default: http
choices:
- http
- https
vhost_proxy_target_host:
description:
- Host where to proxy requests to.
- Only applicable if vhost_type is reverse_proxy and vhost_proxy_target_netproto is tcp.
type: str
required: false
default: localhost
vhost_proxy_target_port:
description:
- Port where to proxy requests to.
- Only applicable if vhost_type is reverse_proxy and vhost_proxy_target_netproto is tcp.
type: int
required: "{{ vhost_state == 'present' and vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'tcp' }}"
vhost_proxy_target_socket:
description:
- Unix socket path to proxy requests to.
- Only applicable if vhost_type is reverse_proxy and vhost_proxy_target_netproto is unix.
type: str
required: "{{ vhost_state == 'present' and vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'unix' }}"
vhost_proxy_delete_headers:
description: List of headers to delete from proxied requests
type: list
@@ -158,24 +180,43 @@ argument_specs:
type: dict
default: "{{ vhost_basicauth_users }}"
proxy_target_port:
description: Port where to proxy requests to. Only applicable if type is reverse_proxy.
type: int
required: false
default: "{{ vhost_proxy_target_port if vhost_type == 'reverse_proxy' else 0 }}"
proxy_target_host:
description: Host where to proxy requests to. Only applicable if type is reverse_proxy
proxy_target_netproto:
description:
- Network protocol to use for proxy requests.
- Only applicable if type is reverse_proxy.
type: str
required: false
default: "{{ vhost_proxy_target_host }}"
default: "{{ vhost_proxy_target_netproto }}"
choices:
- tcp
- unix
proxy_target_protocol:
description: Protocol to use for proxy requests. Only applicable if type is reverse_proxy
description:
- Transport protocol (scheme) to use for proxy requests.
- Only applicable if type is reverse_proxy.
type: str
required: false
default: "{{ vhost_proxy_target_protocol }}"
choices:
- http
- https
proxy_target_host:
description: Host where to proxy requests to. Only applicable if type is reverse_proxy
type: str
required: false
default: "{{ vhost_proxy_target_host }}"
proxy_target_port:
description: Port where to proxy requests to. Only applicable if type is reverse_proxy.
type: int
required: false
default: "{{ vhost_proxy_target_port if vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'tcp' else 0 }}"
proxy_target_socket:
description:
- Unix socket path to proxy requests to.
- Only applicable if type is reverse_proxy and proxy_target_netproto is unix.
type: str
required: false
default: "{{ vhost_proxy_target_socket if vhost_type == 'reverse_proxy' and vhost_proxy_target_netproto == 'unix' else '' }}"
proxy_delete_headers:
description: List of request headers to delete from proxied requests
type: list