使用Puppet / Nginx提供程序添加重写位置

我想在Nginxconfiguration文件中使用这个规则:

location @rewriteapp { # rewrite all to app.php rewrite ^(.*)$ /app.php/$1 last; } 

(这个规则用于Symfony框架)。 我用puphpet网站来生成vagrant文​​件,我修改了default.pp来改变Nginx Vhost的configuration我添加类似的东西来创build这个重写规则:

 nginx::resource::location { "${server_name}-rewrite": location => '@rewriteapp', www_root => $www_root, proxy => undef, rewrite => '^(.*)$ /app.php/$1 last;' } 

但是我得到以下错误: Invalid parameter rewrite at /tmp/vagrant-puppet-1/manifests/default.pp:267 on node packer-virtualbox.vagrantup.com

有没有办法将重写规则添加到Nginx的虚拟主机configuration与Puppet?

问题是重写不是nginx puppet模块中的有效选项。

您需要使用location_cfg_appendlocation_custom_cfg

我目前没有木偶安装测试,但我认为你需要的语法是这样的:

 nginx::resource::location { "${server_name}-rewrite": location => '@rewriteapp', www_root => $www_root, proxy => undef, location_cfg_append => { 'rewrite' => '^(.*)$ /app.php/$1 last;' } }