]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/nginx_tile_ssl.conf.erb
Add fallback backend to nginx + enable keepalive
[chef.git] / cookbooks / tilecache / templates / default / nginx_tile_ssl.conf.erb
index 284b3dfd5b72cdc8e3b5b0c5b5597e5a68d23d45..0b587e242bb173357c6c01fbd0e513054a7fabee 100644 (file)
@@ -1,18 +1,36 @@
+upstream tile_cache_backend {
+    server 127.0.0.1;
+    <% @caches.each do |cache| -%>
+    #Server <%= cache[:hostname] %>
+    <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
+    server <%= address %> backup;
+    <% end -%>
+    <% end -%>
+
+    keepalive 32;
+}
+
 server {
-    listen       443 ssl;
+    listen       443 ssl spdy default_server;
     server_name  localhost;
 
-    ssl_certificate      /etc/ssl/certs/tile.openstreetmap.pem;
-    ssl_certificate_key  /etc/ssl/private/tile.openstreetmap.key;
+    proxy_buffers 8 64k;
 
-    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3;
-    ssl_ciphers aRSA+HIGH:+kEDH:+kRSA:!kSRP:!kPSK:+3DES:!MD5;
+    ssl_certificate      /etc/ssl/certs/<%= @certificate %>.pem;
+    ssl_certificate_key  /etc/ssl/private/<%= @certificate %>.key;
+
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    ssl_ciphers <%= node[:ssl][:ciphers] -%>;
     ssl_prefer_server_ciphers on;
-    ssl_session_cache shared:SSL:30m;
-    ssl_session_timeout 15m;
+    ssl_session_cache shared:SSL:50m;
+    ssl_session_timeout 30m;
     ssl_stapling on;
-    resolver <%= node[:networking][:nameservers].join(" ") %>;
-
-    location / { proxy_pass http://127.0.0.1; proxy_set_header X-Forwarded-For $remote_addr; }
+    ssl_dhparam /etc/ssl/certs/dhparam.pem;
+    resolver <%= @resolvers.join(" ") %>;
 
+    location / {
+      proxy_pass http://tile_cache_backend;
+      proxy_set_header X-Forwarded-For $remote_addr;
+      proxy_http_version 1.1;
+    }
 }