# ************************************ # Managed by Puppet # ************************************ NameVirtualHost <%= @vhost_name %>:<%= @port %> :<%= @port %>> ServerName <%= @srvname %> <% if @serveraliases.is_a? Array -%> <% @serveraliases.each do |name| -%><%= " ServerAlias #{name}\n" %><% end -%> <% elsif @serveraliases != nil -%> <%= " ServerAlias #{@serveraliases}" -%> <% end -%> DocumentRoot <%= @docroot %> > Options <%= @options %> AllowOverride None Order allow,deny allow from all Satisfy any = 2.4> Require all granted RewriteEngine On # Pypi's bandersnatch URL's are: # /pypi/simple/index.html # /pypi/simple/a/a/(index.html)? # /pypi/simple/a/a/a-etc.whl # /pypi/simple/a/abcd/(index.html)? # /pypi/simple/a/abcd/abcd-etc.whl RewriteCond %{REQUEST_URI} ^/pypi/simple/([^/])([^/]*) RewriteCond %{DOCUMENT_ROOT}/pypi/simple/$1/$1$2 -d RewriteRule ^/pypi/simple/([^/])([^/]*)(/.*)?$ /pypi/simple/$1/$1$2$3 [L] # Wheel URL's are: # /wheel/{distro}-{distro-version}/a/a/a-etc.whl # /wheel/{distro}-{distro-version}/a/abcd/abcd-etc.whl # /wheel/{distro}-{distro-version}/a/abcde/abcde-etc.whl RewriteCond %{REQUEST_URI} ^/wheel/([^/]+)/([^/])([^/]*) RewriteCond %{DOCUMENT_ROOT}/wheel/$1/$2/$2$3 -d RewriteRule ^/wheel/([^/]+)/([^/])([^/]*)(/.*)?$ /wheel/$1/$2/$2$3$4 [L] # npm's URL's are: # /npm/-/index.json # /npm/a/aabc/index.json # /npm/a/aabc/latest/index.json # /npm/a/aabc/-/aabc-0.0.0.tgz RewriteCond %{REQUEST_URI} ^/npm/([^/])([^/]*) RewriteCond %{DOCUMENT_ROOT}/npm/$1/$1$2 -d RewriteRule ^/npm/([^/])([^/]*)(/.*)?$ /npm/$1/$1$2$3 [L] # TODO(jhesketh): Remove this after bandersnatch implements pep503 # https://bitbucket.org/pypa/bandersnatch/pull-requests/20/fully-implement-pep-503-normalization/diff # Special cases for openstack.nose_plugin & backports.* RewriteRule ^(.*)/openstack-nose-plugin(.*)$ $1/openstack.nose_plugin$2 RewriteRule ^(.*)/backports-(.*)$ $1/backports.$2 RewriteCond %{REQUEST_URI} ^/pypi/simple/([^/])([^/]*) RewriteCond %{DOCUMENT_ROOT}/pypi/simple/$1/$1$2 -d RewriteRule ^/pypi/simple/([^/])([^/]*)(/.*)?$ /pypi/simple/$1/$1$2$3 [L] # Try again but replacing -'s with .'s RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d RewriteRule (.*)-(.*) $1.$2 [N] RewriteCond %{REQUEST_URI} ^/pypi/simple/([^/])([^/]*) RewriteCond %{DOCUMENT_ROOT}/pypi/simple/$1/$1$2 -d RewriteRule ^/pypi/simple/([^/])([^/]*)(/.*)?$ /pypi/simple/$1/$1$2$3 [L] \/npm\/[^/]+\/.*"> DirectoryIndex index.json AddOutputFilterByType SUBSTITUTE application/json Substitute "s|http://localhost|http://<%= @srvname %>/npm|ni" ErrorLog /var/log/<%= scope.lookupvar("httpd::params::apache_name") %>/<%= @name %>_error.log LogLevel warn CustomLog /var/log/<%= scope.lookupvar("httpd::params::apache_name") %>/<%= @name %>_access.log combined ServerSignature Off