]> git.openstreetmap.org Git - chef.git/blob - cookbooks/overpass/templates/default/apache.erb
Add TOTP token enforcement to overpass
[chef.git] / cookbooks / overpass / templates / default / apache.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 <VirtualHost *:80>
4         ServerName <%= node[:fqdn] %>
5         ServerAlias <%= node[:overpass][:fqdn] %>
6         ServerAdmin webmaster@openstreetmap.org
7
8         CustomLog /var/log/apache2/<%= node[:overpass][:fqdn] %>-access.log combined
9         ErrorLog /var/log/apache2/<%= node[:overpass][:fqdn] %>-error.log
10
11         DocumentRoot <%= @directory %>
12
13         RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
14         RedirectPermanent / https://<%= @name %>/
15 </VirtualHost>
16
17
18 <VirtualHost *:443>
19         ServerName <%= node[:fqdn] %>
20         ServerAlias <%= node[:overpass][:fqdn] %>
21         ServerAdmin webmaster@openstreetmap.org
22
23         CustomLog /var/log/apache2/<%= node[:overpass][:fqdn] %>-access.log combined
24         ErrorLog /var/log/apache2/<%= node[:overpass][:fqdn] %>-error.log
25
26         SSLEngine on
27         SSLCertificateFile /etc/ssl/certs/<%= node[:fqdn] %>.pem
28         SSLCertificateKeyFile /etc/ssl/private/<%= node[:fqdn] %>.key
29
30         DocumentRoot <%= @directory %>
31
32         RewriteMap totp prg:/srv/query.openstreetmap.org/apache/totp-filter
33         RewriteCond "${totp:%{HTTP_COOKIE}}" "0"
34         RewriteRule ^.*$ - [F,L]
35
36 <% if node[:overpass][:restricted_api] -%>
37         ScriptAlias /query-features <%= @script_directory %>/interpreter
38         SetEnvIf Origin "http.*(osm.org|openstreetmap.org).*" AccessControlAllowOrigin=$0
39         # Remove Origin so Overpass does not interfere.
40         RequestHeader unset Origin
41         Header always add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
42 <% else -%>
43         ScriptAlias /api/ <%= @script_directory %>/
44 <% end -%>
45 </VirtualHost>
46
47 <Directory "<%= @directory %>">
48         Require all granted
49 </Directory>
50
51 <Directory "<%= @script_directory %>">
52         SetOutputFilter DEFLATE
53
54         AllowOverride None
55         Options +ExecCGI -MultiViews +FollowSymLinks
56         Require all granted
57 </Directory>