define nginx::site(
- $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',
+ $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',
+ $x_frame_options = 'DENY',
) {
nginx::site::config { $name:
ensure => $ensure,
}
nginx::site::config { "${name}-ssl":
- server_name => $name,
- ensure => $ensure ? {
+ server_name => $name,
+ ensure => $ensure ? {
'present' => $ssl,
default => absent,
},
- source => $source,
- template => "${template}-ssl",
- backend => $backend,
- aliases => $aliases,
- require => $certbot ? {
- true => $ensure ? {
+ source => $source,
+ template => "${template}-ssl",
+ backend => $backend,
+ aliases => $aliases,
+ cache => $cache,
+ cache_levels => $cache_levels,
+ cache_size => $cache_size,
+ cache_inactive => $cache_inactive,
+ cache_max_size => $cache_max_size,
+ x_frame_options => $x_frame_options,
+ require => $certbot ? {
+ true => $ensure ? {
'present' => Certbot::Manage[$name],
default => undef,
},
define nginx::site::config(
- $server_name = $name,
- $ensure = present,
- $source = 'template',
- $template = 'site',
- $backend = 'weblocal',
- $aliases = "*.${name}",
+ $server_name = $name,
+ $ensure = present,
+ $source = 'template',
+ $template = 'site',
+ $backend = 'weblocal',
+ $aliases = "*.${name}",
+ $cache = false,
+ $cache_levels = '1:2',
+ $cache_size = '10m',
+ $cache_inactive = '600s',
+ $cache_max_size = '1m',
+ $x_frame_options = 'DENY',
){
case $source {
'file': {
# clickjacking protection
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
- add_header X-Frame-Options DENY;
+ add_header X-Frame-Options <%= @x_frame_options %>;
location / {
# preserve http header and set forwarded proto