<commit_before><% if mongrels > 1 %>
upstream mongrel_<%= application %>_<%= stage %> {
<% mongrels.times do |x| %>
  server 127.0.0.1:<%= mongrel_port + x %>;
<% end %>
}
<% end %>

server {
  listen 80;
  
  # Set the max size for file uploads to 50Mb
  client_max_body_size 50M;

  # sets the domain[s] that this vhost server requests for
  server_name <%= domains.join ' ' %>;

  # doc root
  root <%= deploy_to %>/current/public;

  # vhost specific access log
  access_log  <%= deploy_to %>/shared/log/nginx.log main;

  # this rewrites all the requests to the maintenance.html
  # page if it exists in the doc root. This is for capistrano's
  # disable web task
  if (-f $document_root/system/maintenance.html) {
    rewrite  ^(.*)$  /system/maintenance.html last;
    break;
  }

  location / {
<% if auth_user %>
    auth_basic            "<PASSWORD>";
    auth_basic_user_file  <%= nginx_dir %>/htpasswd/<%= application %>_<%= stage %>;
<% end %>
    
    # needed to forward user's IP address to rails
    proxy_set_header  X-Real-IP  $remote_addr;

    # needed for HTTPS
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect false;
    proxy_max_temp_file_size 0;
    
    # If the file exists as a static file serve it directly without
    # running all the other rewite tests on it
    if (-f $request_filename) { 
      break; 
    }

    # check for index.html for directory index
    # if its there on the filesystem then rewite 
    # the url to add /index.html to the end of it
    # and then break to send it to the next config rules.
    if (-f $request_filename/index.html) {
      rewrite (.*) $1/index.html break;
    }

    # this is the meat of the rails page caching config
    # it adds .html to the end of the url and then checks
    # the filesystem for that file. If it exists, then we
    # rewite the url to have explicit .html on the end 
    # and then send it on its way to the next config rule.
    # if there is no file on the fs then it sets all the 
    # necessary headers and proxies to our upstream mongrels
    if (-f $request_filename.html) {
      rewrite (.*) $1.html break;
    }

    if (!-f $request_filename) {
      # Use other cluster name here if you are running multiple
      # virtual hosts.
      <% if mongrels == 1 %>
      proxy_pass http://127.0.0.1:<%= mongrel_port %>;
      <% else %>
      proxy_pass http://mongrel_<%= application %>_<%= stage %>;
      <% end %>
      break;
    }
  }

  error_page   500 502 503 504  /500.html;
  location = /500.html {
    root <%= deploy_to %>/current/public;
  }
}

<% if ssl_cert %>
server {
  # port to listen on. Can also be set to an IP:PORT
  listen 443;
  
  ssl on;
  ssl_certificate     <%= deploy_to %>/current/cert/cert;
  ssl_certificate_key <%= deploy_to %>/current/cert/key;
    
  # Set the max size for file uploads to 50Mb
  client_max_body_size 50M;

  # sets the domain[s] that this vhost server requests for
  server_name <%= domains.join ' ' %>;

  # doc root
  root <%= deploy_to %>/current/public;

  # vhost specific access log
  access_log  <%= deploy_to %>/shared/log/nginx.log main;

  # this rewrites all the requests to the maintenance.html
  # page if it exists in the doc root. This is for capistrano's
  # disable web task
  if (-f $document_root/system/maintenance.html) {
    rewrite  ^(.*)$  /system/maintenance.html last;
    break;
  }

  location / {
<% if auth_user %>
    auth_basic            "<PASSWORD>";
    auth_basic_user_file  <%= nginx_dir %>/htpasswd/<%= application %>_<%= stage %>;
<% end %>

    # needed to forward user's IP address to rails
    proxy_set_header  X-Real-IP  $remote_addr;

    # needed for HTTPS
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect false;
    proxy_max_temp_file_size 0;

    # If the file exists as a static file serve it directly without
    # running all the other rewite tests on it
    if (-f $request_filename) { 
      break; 
    }

    # check for index.html for directory index
    # if its there on the filesystem then rewite 
    # the url to add /index.html to the end of it
    # and then break to send it to the next config rules.
    if (-f $request_filename/index.html) {
      rewrite (.*) $1/index.html break;
    }

    # this is the meat of the rails page caching config
    # it adds .html to the end of the url and then checks
    # the filesystem for that file. If it exists, then we
    # rewite the url to have explicit .html on the end 
    # and then send it on its way to the next config rule.
    # if there is no file on the fs then it sets all the 
    # necessary headers and proxies to our upstream mongrels
    if (-f $request_filename.html) {
      rewrite (.*) $1.html break;
    }

    if (!-f $request_filename) {
      # Use other cluster name here if you are running multiple
      # virtual hosts.
      <% if mongrels == 1 %>
      proxy_pass http://127.0.0.1:<%= mongrel_port %>;
      <% else %>
      proxy_pass http://mongrel_<%= application %>_<%= stage %>;
      <% end %>
      break;
    }
  }

  error_page   500 502 503 504  /500.html;
  location = /500.html {
    root <%= deploy_to %>/current/public;
  }
}
<% end %><commit_msg>Mongrel nginx vhost fix to send appropriate https header<commit_after><% if mongrels > 1 %>
upstream mongrel_<%= application %>_<%= stage %> {
<% mongrels.times do |x| %>
  server 127.0.0.1:<%= mongrel_port + x %>;
<% end %>
}
<% end %>

server {
  listen 80;
  
  # Set the max size for file uploads to 50Mb
  client_max_body_size 50M;

  # sets the domain[s] that this vhost server requests for
  server_name <%= domains.join ' ' %>;

  # doc root
  root <%= deploy_to %>/current/public;

  # vhost specific access log
  access_log  <%= deploy_to %>/shared/log/nginx.log main;

  # this rewrites all the requests to the maintenance.html
  # page if it exists in the doc root. This is for capistrano's
  # disable web task
  if (-f $document_root/system/maintenance.html) {
    rewrite  ^(.*)$  /system/maintenance.html last;
    break;
  }

  location / {
<% if auth_user %>
    auth_basic            "<PASSWORD>";
    auth_basic_user_file  <%= nginx_dir %>/htpasswd/<%= application %>_<%= stage %>;
<% end %>
    
    # needed to forward user's IP address to rails
    proxy_set_header  X-Real-IP  $remote_addr;

    # needed for HTTPS
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect false;
    proxy_max_temp_file_size 0;
    
    # If the file exists as a static file serve it directly without
    # running all the other rewite tests on it
    if (-f $request_filename) { 
      break; 
    }

    # check for index.html for directory index
    # if its there on the filesystem then rewite 
    # the url to add /index.html to the end of it
    # and then break to send it to the next config rules.
    if (-f $request_filename/index.html) {
      rewrite (.*) $1/index.html break;
    }

    # this is the meat of the rails page caching config
    # it adds .html to the end of the url and then checks
    # the filesystem for that file. If it exists, then we
    # rewite the url to have explicit .html on the end 
    # and then send it on its way to the next config rule.
    # if there is no file on the fs then it sets all the 
    # necessary headers and proxies to our upstream mongrels
    if (-f $request_filename.html) {
      rewrite (.*) $1.html break;
    }

    if (!-f $request_filename) {
      # Use other cluster name here if you are running multiple
      # virtual hosts.
      <% if mongrels == 1 %>
      proxy_pass http://127.0.0.1:<%= mongrel_port %>;
      <% else %>
      proxy_pass http://mongrel_<%= application %>_<%= stage %>;
      <% end %>
      break;
    }
  }

  error_page   500 502 503 504  /500.html;
  location = /500.html {
    root <%= deploy_to %>/current/public;
  }
}

<% if ssl_cert %>
server {
  # port to listen on. Can also be set to an IP:PORT
  listen 443;
  
  ssl on;
  ssl_certificate     <%= deploy_to %>/current/cert/cert;
  ssl_certificate_key <%= deploy_to %>/current/cert/key;
    
  # Set the max size for file uploads to 50Mb
  client_max_body_size 50M;

  # sets the domain[s] that this vhost server requests for
  server_name <%= domains.join ' ' %>;

  # doc root
  root <%= deploy_to %>/current/public;

  # vhost specific access log
  access_log  <%= deploy_to %>/shared/log/nginx.log main;

  # this rewrites all the requests to the maintenance.html
  # page if it exists in the doc root. This is for capistrano's
  # disable web task
  if (-f $document_root/system/maintenance.html) {
    rewrite  ^(.*)$  /system/maintenance.html last;
    break;
  }

  location / {
<% if auth_user %>
    auth_basic            "Restricted";
    auth_basic_user_file  <%= nginx_dir %>/htpasswd/<%= application %>_<%= stage %>;
<% end %>

    # needed to forward user's IP address to rails
    proxy_set_header  X-Real-IP  $remote_addr;

    # needed for HTTPS
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-FORWARDED_PROTO https;
    proxy_set_header Host $http_host;
    proxy_redirect false;
    proxy_max_temp_file_size 0;

    # If the file exists as a static file serve it directly without
    # running all the other rewite tests on it
    if (-f $request_filename) { 
      break; 
    }

    # check for index.html for directory index
    # if its there on the filesystem then rewite 
    # the url to add /index.html to the end of it
    # and then break to send it to the next config rules.
    if (-f $request_filename/index.html) {
      rewrite (.*) $1/index.html break;
    }

    # this is the meat of the rails page caching config
    # it adds .html to the end of the url and then checks
    # the filesystem for that file. If it exists, then we
    # rewite the url to have explicit .html on the end 
    # and then send it on its way to the next config rule.
    # if there is no file on the fs then it sets all the 
    # necessary headers and proxies to our upstream mongrels
    if (-f $request_filename.html) {
      rewrite (.*) $1.html break;
    }

    if (!-f $request_filename) {
      # Use other cluster name here if you are running multiple
      # virtual hosts.
      <% if mongrels == 1 %>
      proxy_pass http://127.0.0.1:<%= mongrel_port %>;
      <% else %>
      proxy_pass http://mongrel_<%= application %>_<%= stage %>;
      <% end %>
      break;
    }
  }

  error_page   500 502 503 504  /500.html;
  location = /500.html {
    root <%= deploy_to %>/current/public;
  }
}
<% end %>
{'fraction_non_alphanumeric': 0.10336785147868272, 'fraction_numerical': 0.014180427278664054, 'mean_word_length': 2.5936976198457926, 'pattern_counts': {'":': 0, '<': 88, '<?xml version=': 0, '>': 90, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 6, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3372101', 'n_tokens_mistral': 3782, 'n_tokens_neox': 3397, 'n_words': 1241}