zuazo/postfixadmin-cookbook

View on GitHub
templates/default/nginx_vhost.erb

Summary

Maintainability
Test Coverage
# Generated by Chef

server {
  server_name <%=
    server_names = []
    server_names.push @server_name  if @server_name.kind_of? String
    server_names += @server_aliases if @server_aliases.kind_of? Array
    server_names.join ' '
  %>;

  <% if @ssl -%>
  listen 443 <%= Chef::VersionConstraint.new('< 0.8.21').include?(node['nginx']['version'][/\d+\.\d+\.\d+/]) ? 'default' : '' %> ssl;
  <%= render 'nginx.erb', cookbook: 'ssl_certificate' %>
  <% else -%>
  listen <%= @port ? @port : '80' %>;
  <% end -%>
  charset utf-8;

  access_log <%= node['nginx']['log_dir'] %>/<%= @name %>-access.log combined;
  error_log  <%= node['nginx']['log_dir'] %>/<%= @name %>-error.log;

  # Path to the root of your installation
  root <%= @docroot %>;

  fastcgi_buffers 64 4K;
  fastcgi_connect_timeout 60;
  fastcgi_send_timeout 180;
  fastcgi_read_timeout 360;

  index index.php;

  location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
  }

  location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
    deny all;
  }

  location ~ ^(.+?\.php)(/.*)?$ {
    try_files $1 = 404;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$1;
    fastcgi_param PATH_INFO $2;
    <% if @ssl -%>
    fastcgi_param HTTPS on;
    <% end -%>
    fastcgi_pass <%= @fastcgi_pass %>;
  }

  # Optional: set long EXPIRES header on static assets
  location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    # Optional: Don't log access to assets
    access_log off;
  }
}