I was hitting an issue where there were multiple reverseproxy instances
configured for a single host and some of the rewrite rules were changing
the request when they shouldn't be.
This patch adds a rewritecond to the websocket rewrite rule to make
sure that the REQUEST_URI starts with $remotepath before it's rewritten.
---
roles/httpd/reverseproxy/templates/reversepassproxy.conf | 3 +++
1 file changed, 3 insertions(+)
diff --git a/roles/httpd/reverseproxy/templates/reversepassproxy.conf
b/roles/httpd/reverseproxy/templates/reversepassproxy.conf index
38950e4..1e4afe0 100644 ---
a/roles/httpd/reverseproxy/templates/reversepassproxy.conf +++
b/roles/httpd/reverseproxy/templates/reversepassproxy.conf @@ -47,6
+47,9 @@ SSLProxyEngine On RewriteEngine on
RewriteCond %{HTTP:Upgrade} ^WebSocket$ [NC]
RewriteCond %{HTTP:Connection} Upgrade [NC]
+{% if remotepath is defined %}
+RewriteCond %{REQUEST_URI} ^{{ remotepath }}/(.)*
+{% endif %}
RewriteRule .*
"balancer://{{ balancer_name }}-websocket%{REQUEST_URI}" [P]
<Proxy "balancer://{{balancer_name}}">
--
1.8.3.1