First try at a reversepassproxy role.

This commit is contained in:
Ralph Bean 2014-12-08 15:40:15 +00:00
parent bf91f58612
commit 30dfd807ba
6 changed files with 84 additions and 0 deletions

View file

@ -0,0 +1,19 @@
# Expected vars
# - website...
# - localpath..
# - remotepath..
# - proxyurl
# - rewrite
- name: Copy in ProxyPassReverse for {{website}}/{{remotepath}}
template: >
src=reversepassproxy.conf
dest=/etc/httpd/conf.d/{{website}}/{{destname}}.conf
owner=root
group=root
mode=0644
notify:
- restart httpd
tags:
- httpd
- httpd/reversepassproxy

View file

@ -0,0 +1,2 @@
CustomLog "logs/{{ name }}-access.log" combined
ErrorLog "logs/{{ name }}-error.log"

View file

@ -0,0 +1,7 @@
{% if rewrite %}
RewriteEngine On
RewriteRule ^{{remotepath}}$ %{REQUEST_URI}/ [R=301]
{% endif %}
ProxyPass {{ localpath }} {{ proxyurl }}{{remotepath}}
ProxyPassReverse {{ localpath }} {{ proxyurl }}{{remotepath}}

View file

@ -0,0 +1 @@
Alias /robots.txt /srv/web/robots.txt.{{ name }}

View file

@ -0,0 +1,51 @@
<VirtualHost{% for ip in ips %} {{ip}}:80{% endfor %}>
ServerName {{ name }}
{% if server_aliases %}
ServerAlias {{ server_aliases | join(" ") }}
{% endif %}
ServerAdmin {{ server_admin }}
TraceEnable Off
{% if gzip %}
SetOutputFilter DEFLATE
{% endif %}
{% if sslonly %}
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NE]
{% else %}
Include "conf.d/{{ name }}/*.conf"
{% endif %}
</VirtualHost>
{% if ssl %}
<VirtualHost{% for ip in ips %} {{ip}}:443{% endfor %}>
ServerName {{ name }}
{% if server_aliases %}
ServerAlias {{ server_aliases | join(" ") }}
{% endif %}
ServerAdmin {{ server_admin }}
{% if gzip %}
SetOutputFilter DEFLATE
{% endif %}
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/{{ cert_name }}.cert
SSLCertificateKeyFile /etc/pki/tls/private/{{ cert_name }}.key
{% if SSLCertificateChainFile %}
SSLCertificateChainFile /etc/pki/tls/certs/{{ SSLCertificateChainFile }}
{% endif %}
SSLHonorCipherOrder On
# https://fedorahosted.org/fedora-infrastructure/ticket/4101#comment:14
# If you change the protocols or cipher suites, you should probably update
# modules/squid/files/squid.conf-el6 too, to keep it in sync.
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
Include "conf.d/{{ name }}/*.conf"
</VirtualHost>
{% endif %}

View file

@ -0,0 +1,4 @@
remotepath: /
localpath: /
rewrite: false
destname: reversepassproxy