与hiera和puppet中的所有vhost共享nginx状态位置

时间:2015-07-31 16:20:04

标签: nginx puppet hiera

我正在使用Jfryman puppet nginx模块,我正在尝试使用可用的vhosts启用状态位置,所以我的hiera是这样的:

---
nginx::nginx_vhosts:
  'default':
    www_root: '/www/default'
    listen_port: 8081

  'default2':
    www_root: '/www/default2'
    listen_port: 8082

  'default3':
    www_root: '/www/default3'
    listen_port: 8083

nginx::nginx_locations:
  'status':
    location: '/status'
    vhost: 'default'...."here wanna include more than one vhost"
    stub_status: true

无论如何说这些vhost中包含这个位置而不重复hiera条目?

1 个答案:

答案 0 :(得分:1)

不,location类型只需要一个vhost参数,并使用它来确定target file

为了防止干扰,您必须避免使用nginx_locations类的nginx参数,并自行声明nginx::resource::location个实例。

define status_location_for_vhost() {
    nginx::resource::location { "status-for-$name":
        location => '/status',
        vhost    => $name,
        stub_status => true
    }
}

声明每个vhost的那些。