1 # DO NOT EDIT - This file is being maintained by Chef
 
   4         ServerName <%= @name %>
 
   5 <% @aliases.each do |alias_name| -%>
 
   6         ServerAlias <%= alias_name %>
 
   8         ServerAdmin webmaster@openstreetmap.org
 
  10         CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
 
  11         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
  13         RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
 
  14         RedirectPermanent / https://<%= @name %>/
 
  17 <% unless @aliases.empty? -%>
 
  19         ServerName <%= @aliases.first %>
 
  20 <% @aliases.slice(1..-1).each do |alias_name| -%>
 
  21         ServerAlias <%= alias_name %>
 
  23         ServerAdmin webmaster@openstreetmap.org
 
  26         SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
 
  27         SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
 
  29         CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
 
  30         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
  32         RedirectPermanent / https://<%= @name %>/
 
  37         ServerName <%= @name %>
 
  38         ServerAdmin webmaster@openstreetmap.org
 
  41         SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
 
  42         SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
 
  44         CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
 
  45         ErrorLog /var/log/apache2/<%= @name %>-error.log
 
  47         Alias /robots.txt /srv/<%= node[:git][:host] %>/robots.txt
 
  49         <FilesMatch "^robots\.txt$">
 
  50             # Make absolutely sure it comes out as a plain file
 
  55         SetEnv GIT_PROJECT_ROOT /var/lib/git
 
  56         SetEnv GIT_HTTP_EXPORT_ALL
 
  57         SetEnv GIT_HTTP_MAX_REQUEST_BUFFER 100M
 
  59         SetEnvIf Git-Protocol ".*" GIT_PROTOCOL=$0
 
  61         # KeepaliveTimeout longer than git config uploadpack.keepalive 5 second default
 
  65         RewriteRule ^/cgimap\.git.* https://github.com/zerebubuth/openstreetmap-cgimap [QSD,L,R=permanent]
 
  66         RewriteRule ^/planetdump\.git.* https://github.com/openstreetmap/planetdump [QSD,L,R=permanent]
 
  67         RewriteRule ^/gpx-import\.git.* https://github.com/openstreetmap/gpx-import [QSD,L,R=permanent]
 
  68         RewriteRule ^/potlatch2\.git.* https://github.com/openstreetmap/potlatch2 [QSD,L,R=permanent]
 
  70         # Prevent abuse by an anonymous AI bot
 
  71         RewriteCond %{REQUEST_METHOD} ^(GET|HEAD)$
 
  72         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/blob [OR]
 
  73         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/commitdiff [OR]
 
  74         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/history [OR]
 
  75         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/log [OR]
 
  76         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/patch [OR]
 
  77         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/search [OR]
 
  78         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/shortlog [OR]
 
  79         RewriteCond %{REQUEST_URI} ^/[^/]+\.git/tree
 
  80         RewriteCond %{HTTP_REFERER} ^-?$
 
  81         RewriteCond %{HTTP_USER_AGENT} ((CriOS|Chrome)/[1-9][0-9]?\.0\.|Chrome/100\.0\.|Chrome/122\.0\.0\.0|(Firefox|FxiOS)/[1-6]?[0-9]\.|MSIE\ [5-9]\.0|Opera/[8-9]\.|Windows\ NT\ [3-5]\.|Version/[3-5]\.[0-1]) [NC]
 
  82         RewriteRule ^ - [R=429,L]
 
  84         ScriptAlias /public /usr/lib/git-core/git-http-backend/public
 
  85         ScriptAlias /private /usr/lib/git-core/git-http-backend/private
 
  86         Alias /gitweb /usr/share/gitweb
 
  87         Alias /git /var/cache/git
 
  88         ScriptAlias / /usr/lib/cgi-bin/gitweb.cgi/
 
  93 <% unless @private_allowed.empty? -%>
 
  96                   Require ip <%= @private_allowed.sort.join(" ") %>
 
 100         <Location /private/chef.git>
 
 105 <Directory /usr/lib/git-core>