define nginx::site(
- $ensure = present,
- $ssl = present,
- $source = 'template',
- $certbot = true,
- $template = 'site',
- $backend = 'weblocal',
- $aliases = "*.${name}",
+ $ensure = present,
+ $ssl = present,
+ $source = 'template',
+ $certbot = true,
+ $template = 'site',
+ $backend = 'weblocal',
+ $aliases = "*.${name}",
+ $cache = false,
+ $cache_levels = '1:2',
+ $cache_size = '10m',
+ $cache_inactive = '600s',
+ $cache_max_size = '1m',
) {
nginx::site::config { $name:
ensure => $ensure,
+<% if @cache == true -%>
+proxy_cache_path /var/cache/nginx/<%= @name %> levels=<%= @cache_levels %> keys_zone=<%= @name %>:<%= @cache_size %> inactive=<%= @cache_inactive %> max_size=<%= @cache_max_size %>;
+<% end -%>
server {
listen 443;
server_name <%= @server_name %> <%= @aliases %>;
# default proxy pass
proxy_pass http://<%= @backend %>:80;
+<% if @cache == true -%>
+
+ # cache config
+ proxy_cache <%= @name %>;
+<% end -%>
}
}