Code Apache Expire Puppet

Nous passons à l’utilisation de Puppet pour gérer. En utilisant le module apache (de Puppet).

Essayer de trouver une syntaxe pour que la marionnette produise quelque chose comme:

 ExpiresActive On ExpiresDefault "access plus 0 seconds" ExpiresByType text/javascript "access plus 12 hours" ExpiresByType application/x-javascript "access plus 12 hours" ExpiresByType text/css "access plus 12 hours" ExpiresByType image/gif "access plus 12 hours" ExpiresByType image/jpeg "access plus 12 hours" ExpiresByType application/x-shockwave-flash "access plus 12 hours"  

J’ai essayé ceci:

  apache::vhost { 'mysite': servername => 'mysite.com', vhost_name => $::ipaddress, port => '80', docroot => $docroot, directories => [ { path => '/var/www/mysite, provider => 'directory', options => ['-Indexes','FollowSymLinks'], expires_active => 'On', expires_default => 'access plus 0 seconds', expires_by_type => [ {'text/javascript' => 'access plus 12 hours' }, {'application/x-javascript' => 'access plus 12 hours' }, {'text/css' => 'access plus 12 hours' }, {'image/gif' => 'access plus 12 hours' }, {'image/jpeg' => 'access plus 12 hours' }, {'application/x-shockwave-flash' => 'access plus 12 hours' }, ], }, ], } 

Cela va créer ce qui n’est pas tout à fait ce que je veux:

   Options -Indexes FollowSymLinks AllowOverride None Require all granted ExpiresActive On ExpiresDefault access plus 0 seconds ExpiresByType {"text/javascript"=>"access plus 12 hours"} ExpiresByType {"application/x-javascript"=>"access plus 12 hours"} ExpiresByType {"text/css"=>"access plus 12 hours"} ExpiresByType {"image/gif"=>"access plus 12 hours"} ExpiresByType {"image/jpeg"=>"access plus 12 hours"} ExpiresByType {"application/x-shockwave-flash"=>"access plus 12 hours"}  

ExpiresDefault et ExpiresByType ne fonctionnent pas. Le rest me semble bien.

Si vous changez votre code pour:

  apache::vhost { 'mysite': servername => 'mysite.com', vhost_name => '1.1.1.1', port => '80', docroot => 'mydocroot', directories => [ { path => '/var/www/mysite', provider => 'directory', options => ['-Indexes','FollowSymLinks'], expires_active => 'On', expires_default => '"access plus 0 seconds"', expires_by_type => [ 'text/javascript "access plus 12 hours"', 'application/x-javascript "access plus 12 hours"', 'text/css "access plus 12 hours"', 'image/gif "access plus 12 hours"', 'image/jpeg "access plus 12 hours"', 'application/x-shockwave-flash "access plus 12 hours"', ], }, ], } 

Vous obtenez:

   Options -Indexes FollowSymLinks AllowOverride None Require all granted ExpiresActive On ExpiresDefault "access plus 0 seconds" ExpiresByType text/javascript "access plus 12 hours" ExpiresByType application/x-javascript "access plus 12 hours" ExpiresByType text/css "access plus 12 hours" ExpiresByType image/gif "access plus 12 hours" ExpiresByType image/jpeg "access plus 12 hours" ExpiresByType application/x-shockwave-flash "access plus 12 hours"  

Je n’ai pas creusé assez profondément pour décider si ce comportement est tel que documenté, est déroutant et devrait être corrigé, devrait être mieux documenté, ou est inattendu.

Si c’est autre chose que documenté, alors certainement quelqu’un devrait lancer une requête pull pour améliorer le module Apache.