# DO NOT EDIT - This file is being maintained by Chef
-<% [80, 443].each do |port| -%>
-
-<VirtualHost *:<%= port %>>
+
+<VirtualHost *:443>
ServerName planet.openstreetmap.org
ServerAlias planet.osm.org
ServerAdmin webmaster@openstreetmap.org
-<% if port == 443 -%>
+ CustomLog /var/log/apache2/planet.openstreetmap.org-access.log combined
+ ErrorLog /var/log/apache2/planet.openstreetmap.org-error.log
+
SSLEngine on
SSLCertificateFile /etc/ssl/certs/planet.openstreetmap.org.pem
SSLCertificateKeyFile /etc/ssl/private/planet.openstreetmap.org.key
-<% else -%>
- RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
-<% end -%>
-
- CustomLog /var/log/apache2/planet.openstreetmap.org-access.log combined
- ErrorLog /var/log/apache2/planet.openstreetmap.org-error.log
DocumentRoot /store/planet
Redirect /pbf-experimental/ /pbf/
- <IfModule mod_headers.c>
- Header set Access-Control-Allow-Origin "*"
- </IfModule>
+ <IfModule mod_headers.c>
+ Header set Access-Control-Allow-Origin "*"
+ </IfModule>
RewriteEngine on
RewriteMap latestplanet prg:/usr/local/bin/apache-latest-planet-filename
#Direct, no redirect for the following
- RewriteCond %{REMOTE_ADDR} ^193\.63\. [OR]
- RewriteCond %{REMOTE_ADDR} ^127\. [OR]
- RewriteCond %{REMOTE_ADDR} ^10\. [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.1\.219\.88 [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.1\.193\.64 [OR]
- RewriteCond %{REMOTE_ADDR} ^146\.169\. [OR]
- RewriteCond %{REMOTE_ADDR} ^129\.31\. [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.60\. [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.61\. [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.62\. [OR]
- RewriteCond %{REMOTE_ADDR} ^193\.63\. [OR]
- RewriteCond %{QUERY_STRING} nomirror
+ RewriteCond %{REMOTE_ADDR} ^127\. [OR]
+ RewriteCond %{REMOTE_ADDR} ^10\. [OR]
+ RewriteCond %{REMOTE_ADDR} ^193\.60\. [OR]
+ RewriteCond %{REMOTE_ADDR} ^193\.61\. [OR]
+ RewriteCond %{REMOTE_ADDR} ^193\.62\. [OR]
+ RewriteCond %{REMOTE_ADDR} ^193\.63\. [OR]
+ RewriteCond %{QUERY_STRING} nomirror
RewriteRule .* - [L]
- RewriteRule ^(/planet/planet\-latest\.osm\.bz2)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/planet/planet\-latest\.osm\.bz2(\.torrent)?)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/planet/full\-history/history\-latest\.osm\.bz2(\.torrent)?)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/planet/changesets\-latest\.osm\.bz2(\.torrent)?)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/planet/discussions\-latest\.osm\.bz2(\.torrent)?)$ ${latestplanet:$1} [R,L]
+
+ RewriteRule ^(/pbf/planet\-latest\.osm\.pbf(\.torrent)?)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/pbf/full\-history/history\-latest\.osm\.pbf(\.torrent)?)$ ${latestplanet:$1} [R,L]
+
+ RewriteRule ^(/cc\-by\-sa/pbf/planet\-latest\.osm\.pbf)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/cc\-by\-sa/planet\-latest\.osm\.bz2)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/cc\-by\-sa/changesets\-latest\.osm\.bz2)$ ${latestplanet:$1} [R,L]
+ RewriteRule ^(/cc\-by\-sa/relations\-latest\.osm\.bz2)$ ${latestplanet:$1} [R,L]
+
+ # Block an abusive fake user agent
+ RewriteCond %{HTTP_USER_AGENT} "=Mozilla/5.0 (Linux; Android) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36"
+ RewriteRule /.*$ - [F,L]
+
+ # Temporary download rate limit due to upstream fibre connection issues. - 13 Jan 2020
+ <FilesMatch ".+\.(7z|bz2|gz|pbf|tgz|xz)$">
+ SetOutputFilter RATE_LIMIT
+ SetEnv rate-limit 4096
+ SetEnv rate-initial-burst 8192
+ </FilesMatch>
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName planet.openstreetmap.org
+ ServerAlias planet.osm.org
+ ServerAdmin webmaster@openstreetmap.org
+
+ CustomLog /var/log/apache2/planet.openstreetmap.org-access.log combined
+ ErrorLog /var/log/apache2/planet.openstreetmap.org-error.log
+
+ RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
+ RedirectPermanent / https://planet.openstreetmap.org/
</VirtualHost>
-<% end -%>