From: Grant Slater Date: Sun, 17 May 2015 22:00:49 +0000 (+0100) Subject: Add fallback backend to nginx + enable keepalive X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/a839868a4ce8d05946a97f83c1aa451028c07889?ds=inline Add fallback backend to nginx + enable keepalive --- diff --git a/cookbooks/tilecache/recipes/default.rb b/cookbooks/tilecache/recipes/default.rb index 19c99b0ce..e6028ebb5 100644 --- a/cookbooks/tilecache/recipes/default.rb +++ b/cookbooks/tilecache/recipes/default.rb @@ -31,6 +31,7 @@ package "apache2" do end package "xz-utils" +package "openssl" tilecaches = search(:node, "roles:tilecache").sort_by { |n| n[:hostname] } tilerenders = search(:node, "roles:tile").sort_by { |n| n[:hostname] } @@ -89,7 +90,7 @@ end nginx_site "tile-ssl" do template "nginx_tile_ssl.conf.erb" - variables :certificate => certificate, :resolvers => resolvers + variables :certificate => certificate, :resolvers => resolvers, :renders => tilerenders end service "nginx-certificate-restart" do diff --git a/cookbooks/tilecache/templates/default/nginx_tile_ssl.conf.erb b/cookbooks/tilecache/templates/default/nginx_tile_ssl.conf.erb index 77e2c6fd0..0b587e242 100644 --- a/cookbooks/tilecache/templates/default/nginx_tile_ssl.conf.erb +++ b/cookbooks/tilecache/templates/default/nginx_tile_ssl.conf.erb @@ -1,5 +1,17 @@ +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 spdy; + listen 443 ssl spdy default_server; server_name localhost; proxy_buffers 8 64k; @@ -10,11 +22,15 @@ server { 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; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver <%= @resolvers.join(" ") %>; - location / { proxy_pass http://127.0.0.1; proxy_set_header X-Forwarded-For $remote_addr; } + location / { + proxy_pass http://tile_cache_backend; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_http_version 1.1; + } }