summaryrefslogtreecommitdiff
path: root/puppet/modules/site_apache/templates/vhosts.d/api.conf.erb
blob: 9e2dbcafdc01f6488340e750e22728078f297816 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<VirtualHost *:80>
  ServerName <%= api_domain %>
  RewriteEngine On
  RewriteRule ^.*$ https://<%= api_domain -%>:<%= api_port -%>%{REQUEST_URI} [R=permanent,L]
</VirtualHost>

Listen 0.0.0.0:<%= api_port %>

<VirtualHost *:<%= api_port -%>>
  ServerName <%= domain_name %>
  ServerAlias <%= api_domain %>

  SSLEngine on
  SSLProtocol -all +SSLv3 +TLSv1
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!SSLv2:!MD5:@STRENGTH
  SSLHonorCipherOrder on

  SSLCACertificatePath /etc/ssl/certs
  SSLCertificateChainFile <%= scope.lookupvar('x509::variables::local_CAs') %>/<%= scope.lookupvar('site_config::params::ca_name') %>.crt
  SSLCertificateKeyFile <%= scope.lookupvar('x509::variables::keys') %>/<%= scope.lookupvar('site_config::params::cert_name') %>.key
  SSLCertificateFile <%= scope.lookupvar('x509::variables::certs') %>/<%= scope.lookupvar('site_config::params::cert_name') %>.crt

  RequestHeader set X_FORWARDED_PROTO 'https'

  <IfModule mod_headers.c>
<% if @webapp['secure'] -%>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
<% end -%>
    Header always unset X-Powered-By
    Header always unset X-Runtime
  </IfModule>

  DocumentRoot /srv/leap/webapp/public

  # Check for maintenance file and redirect all requests
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteCond %{REQUEST_URI} !/images/maintenance.jpg
  RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]

  # http://www.modrails.com/documentation/Users%20guide%20Apache.html#_passengerallowencodedslashes_lt_on_off_gt
  AllowEncodedSlashes on
  PassengerAllowEncodedSlashes on
  PassengerFriendlyErrorPages off
  SetEnv TMPDIR /var/tmp
</VirtualHost>