diff --git a/roles/httpd/reverseproxy/templates/reversepassproxy.openqa.conf b/roles/httpd/reverseproxy/templates/reversepassproxy.openqa.conf new file mode 100644 index 0000000000..b0b22541dd --- /dev/null +++ b/roles/httpd/reverseproxy/templates/reversepassproxy.openqa.conf @@ -0,0 +1,45 @@ +{% if balancer_name is defined %} +SSLProxyEngine On + + + {% for member in balancer_members %} + {% if http_not_https_yes_this_is_insecure_and_i_feel_bad %} + {% if remotepath is defined and remotepath != "/" %} + BalancerMember "ws://{{ member }}{{ remotepath }}" + {% else %} + BalancerMember "ws://{{ member }}" + {% endif %} + {% else %} + {% if remotepath is defined and remotepath != "/" %} + BalancerMember "wss://{{ member }}{{ remotepath }}" + {% else %} + BalancerMember "wss://{{ member }}" + {% endif %} + {% endif %} + {% endfor %} + + +RewriteEngine on +RewriteCond %{HTTP:Upgrade} ^WebSocket$ [NC] +RewriteCond %{HTTP:Connection} Upgrade [NC] +{% if remotepath is defined and remotepath != "/" %} +RewriteCond %{REQUEST_URI} ^{{ remotepath }}/(.)* +{% endif %} +RewriteRule .* "balancer://{{ balancer_name }}-websocket%{REQUEST_URI}" [P] + + + {% for member in balancer_members %} + {% if http_not_https_yes_this_is_insecure_and_i_feel_bad %} + BalancerMember "http://{{ member }}" + {% else %} + BalancerMember "https://{{ member }}" + {% endif %} + {% endfor %} + +{% if datacenter == 'iad2' %} +ProxyPass {{ localpath }} "balancer://{{balancer_name}}{{remotepath}}" +ProxyPassReverse {{ localpath }} "balancer://{{balancer_name}}{{remotepath}}" +{% else %} +Redirect 421 / +{% endif %} +