From b97a401f573b34380339a17cc6180c95ecc10e40 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Wed, 12 Sep 2018 01:24:30 +0200 Subject: [PATCH] Make WebSocket possible for (app.)os.stg.fedoraproject.org Signed-off-by: Patrick Uiterwijk --- playbooks/include/proxies-reverseproxy.yml | 8 ++++---- .../reverseproxy/templates/reversepassproxy.conf | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/playbooks/include/proxies-reverseproxy.yml b/playbooks/include/proxies-reverseproxy.yml index 10fb8274c1..50ba745359 100644 --- a/playbooks/include/proxies-reverseproxy.yml +++ b/playbooks/include/proxies-reverseproxy.yml @@ -655,7 +655,7 @@ website: os.fedoraproject.org destname: os balancer_name: os - balancer_members: ['https://os-master01.vpn.fedoraproject.org', 'https://os-master02.vpn.fedoraproject.org', 'https://os-master03.vpn.fedoraproject.org'] + balancer_members: ['os-master01.vpn.fedoraproject.org', 'os-master02.vpn.fedoraproject.org', 'os-master03.vpn.fedoraproject.org'] keephost: true tags: - os.fedoraproject.org @@ -664,7 +664,7 @@ website: app.os.fedoraproject.org destname: app.os balancer_name: app-os - balancer_members: ['https://os-node01.vpn.fedoraproject.org', 'https://os-node02.vpn.fedoraproject.org'] + balancer_members: ['os-node01.vpn.fedoraproject.org', 'os-node02.vpn.fedoraproject.org'] keephost: true tags: - app.os.fedoraproject.org @@ -674,7 +674,7 @@ destname: os proxyurl: https://os.stg.phx2.fedoraproject.org balancer_name: os-stg - balancer_members: ['https://os-master01.stg.phx2.fedoraproject.org', 'https://os-master02.stg.phx2.fedoraproject.org', 'https://os-master03.stg.phx2.fedoraproject.org'] + balancer_members: ['os-master01.stg.phx2.fedoraproject.org', 'os-master02.stg.phx2.fedoraproject.org', 'os-master03.stg.phx2.fedoraproject.org'] keephost: true tags: - os.fedoraproject.org @@ -684,7 +684,7 @@ website: app.os.stg.fedoraproject.org destname: app.os balancer_name: app-os-stg - balancer_members: ['https://os-node01.stg.phx2.fedoraproject.org', 'https://os-node02.stg.phx2.fedoraproject.org'] + balancer_members: ['os-node01.stg.phx2.fedoraproject.org', 'os-node02.stg.phx2.fedoraproject.org'] proxyurl: http://app.os.phx2.fedoraproject.org keephost: true tags: diff --git a/roles/httpd/reverseproxy/templates/reversepassproxy.conf b/roles/httpd/reverseproxy/templates/reversepassproxy.conf index 1dbdbd0603..77a8dd35b2 100644 --- a/roles/httpd/reverseproxy/templates/reversepassproxy.conf +++ b/roles/httpd/reverseproxy/templates/reversepassproxy.conf @@ -19,9 +19,23 @@ ProxyPreserveHost On {% if balancer_name is defined %} SSLProxyEngine On +{% if env == "staging" %} + + + {% for member in balancer_members %} + BalancerMember "wss://{{ member }}" + {% endfor %} + + +RewriteEngine on +RewriteCond %{HTTP:Upgrade} ^WebSocket$ [NC] +RewriteCond %{HTTP:Connection} ^Upgrade$ [NC] +RewriteRule .* "balancer://{{ balancer_name }}-websocket%{REQUEST_URI}" [P] + +{% endif %} {% for member in balancer_members %} - BalancerMember "{{ member }}" + BalancerMember "https://{{ member }}" {% endfor %} ProxyPass {{ localpath }} "balancer://{{balancer_name}}{{remotepath}}"