diff --git a/REFERENCE.md b/REFERENCE.md
index 2d59bd1165..2c384f811b 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -5611,9 +5611,9 @@ Default value: `'Off'`
##### `allow_from`
-Data type: `Optional[Stdlib::IP::Address]`
+Data type: `Optional[Variant[Stdlib::IP::Address, Array[Stdlib::IP::Address]]]`
-List of IPs allowed to access proxy.
+IP address or list of IPs allowed to access proxy.
Default value: `undef`
diff --git a/manifests/mod/proxy.pp b/manifests/mod/proxy.pp
index 3bd356f85f..f8dc5c5143 100644
--- a/manifests/mod/proxy.pp
+++ b/manifests/mod/proxy.pp
@@ -5,7 +5,7 @@
# Enables forward (standard) proxy requests.
#
# @param allow_from
-# List of IPs allowed to access proxy.
+# IP address or list of IPs allowed to access proxy.
#
# @param package_name
# Name of the proxy package to install.
@@ -23,7 +23,7 @@
#
class apache::mod::proxy (
String $proxy_requests = 'Off',
- Optional[Stdlib::IP::Address] $allow_from = undef,
+ Optional[Variant[Stdlib::IP::Address, Array[Stdlib::IP::Address]]] $allow_from = undef,
Optional[String] $package_name = undef,
String $proxy_via = 'On',
Optional[Integer[0]] $proxy_timeout = undef,
diff --git a/templates/mod/proxy.conf.erb b/templates/mod/proxy.conf.erb
index eb6c02ea38..f1b62f41dc 100644
--- a/templates/mod/proxy.conf.erb
+++ b/templates/mod/proxy.conf.erb
@@ -10,7 +10,11 @@
<% if @proxy_requests != 'Off' or ( @allow_from and ! @allow_from.empty? ) -%>
+ <%- if @allow_from.is_a? Array -%>
Require ip <%= @allow_from.join(" ") %>
+ <%- else -%>
+ Require ip <%= @allow_from %>
+ <%- end -%>
<% end -%>