# Note (November 2016): # This config is rather outdated and left here for historical reasons, please refer to prerender.io for the latest setup information # Serving static html to Googlebot is now considered bad practice as you should be using the escaped fragment crawling protocol server { listen 80; listen [::]:80; server_name yourserver.com; root /path/to/your/htdocs; error_page 404 /404.html index index.html; location ~ /\. { deny all; } location / { try_files $uri @prerender; } location @prerender { #proxy_set_header X-Prerender-Token YOUR_TOKEN; set $prerender 0; if ($http_user_agent ~* "googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") { set $prerender 1; } if ($args ~ "_escaped_fragment_|prerender=1") { set $prerender 1; } if ($http_user_agent ~ "Prerender") { set $prerender 0; } if ($prerender = 1) { rewrite .* /$scheme://$host$request_uri? break; #proxy_pass http://localhost:3000; proxy_pass http://service.prerender.io; } if ($prerender = 0) { rewrite .* /index.html break; } } }