class apache::webservice(
$htdocs = $apache::param::htdocs,
$apacheuser = $apache::param::apacheuser,
$apachegroup = $apache::param::apachegroup,
$logdir = $apache::param::logdir,
) inherits apache::param{
$sitename = "service.de"
file{"$logdir/$sitename":
ensure => directory,
}
apache::vhost {"app $name":
template => 'apache/vhost-proxypass.conf.erb',
port => 80,
servername => "$sitename",
modsec => "",
pptarget => "10.18.10.10",
ppproto => "http",
ppport => "8080",
ppoptions => "",
ppexception => "",
logformat => "combined_forwarded",
rewrite => "webservice",
ip => ["10.18.10."],
ip_xforward => ["75.2.91.24", "94.5.52.252", ],
}
}
<% if @rewrite != '' && @ip != '' || @ip_xforward != '' %>
<Location /<%= @rewrite %>>
<% if @ip_xforward != '' %>
<% if ip.is_a? Array -%>
<% ip_xforward.each do |name| -%><%= "\t\tSetEnvIF X-Forwarded-For ^(#{name}) AllowIP\n" %><% end -%>
<% elsif @ip_xforward != '' -%>
<%= " SetEnvIF X-Forwarded-For ^(#{ip_xforward}) AllowIP" -%>
<% end -%>
<% end -%>
Order deny,allow
Deny from all
Allow from env=AllowIP
<% if @ip != '' %>
<% if ip.is_a? Array -%>
<% ip.each do |name| -%><%= "Allow from #{name}\n" %><% end -%>
<% elsif @ip != '' -%>
<%= " Allow from #{ip}" -%>
<% end -%>
<% end -%>
</Location>
<% end %>
SetEnvIF X-Forwarded-For ^(94\.20\.18\.9) AllowIP SetEnvIF X-Forwarded-For ^(94.20.18.9) AllowIP<% ip_xforward.each do |name| -%><%= "\t\tSetEnvIF X-Forwarded-For ^(regsubst(#{name}, '\.','\\.')) AllowIP\n" %><% end -%> <% ip_xforward.each do |name| -%>
<%= "\t\tSetEnvIf X-Forwarded-For ^(" + regsubst("#{name}", 'foo','bar') + ") AllowIP\n" %>
<% end -%>
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template apache/vhost-default.conf.erb:
Filepath: /usr/lib/ruby/site_ruby/1.8/puppet/parser/templatewrapper.rb
Line: 81
Detail: Could not find value for 'regsubst' at /etc/puppet/modules/apache/templates/vhost-default.conf.erb:68
<% if @ip_xforward != '' %>
<% if ip_xforward.is_a? Array -%>
<% ip_xforward.map do |value| -%>
<%= "\t\tSetEnvIf X-Forwarded-For ^(" + value.gsub('.', '\.') + ".*) AllowIP\n" -%>
<% end -%>
<% else %>
<%= " SetEnvIF X-Forwarded-For ^(#{ip_xforward}) AllowIP" -%>
<% end -%>
<% end -%>
SetEnvIf X-Forwarded-For ^(13\.74\.8\.23.*) AllowIP
SetEnvIf X-Forwarded-For ^(5\.63\.23\.53.*) AllowIP