Skip to content

Instantly share code, notes, and snippets.

@perusio
Forked from peterhel/nginx.conf
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save perusio/a48582249140f5575624 to your computer and use it in GitHub Desktop.
Save perusio/a48582249140f5575624 to your computer and use it in GitHub Desktop.
prerender.io service nginx configuration
# -*- mode: nginx; mode: flyspell-prog; mode: autopair; ispell-local-dictionary: "american" -*-
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 10;
#gzip on;
map $http_user_agent $prerender_ua {
default 0;
~*baiduspider 1;
~*twitterbot 1;
~*facebookexternalhit 1;
~*rogerbot 1;
~*linkedinbot 1;
~*embedly 1;
'~*quora link preview' 1;
~*showyoubot 1;
~*outbrain 1;
~*pinterest 1;
~*slackbot 1;
}
map $uri $prerender {
default $prerender_ua;
~*_escaped_fragment_ 1;
}
map $prerender $route {
0 @default;
1 @prerender;
}
upstream prerender {
server 127.0.0.1:3000;
server [::1]:3000;
keepalive 2;
}
upstream default_host {
server example.com:443;
keepalive 2;
}
server {
listen 9999;
server_name localhost;
location @default {
resolver 8.8.8.8;
proxy_pass https://default_host;
proxy_set_header Connection '';
proxy_http_version 1.1;
add_header X-Route default;
}
location @prerender {
add_header X-Route prerender;
rewrite ^ /https://example.com$request_uri break;
proxy_set_header Connection '';
proxy_http_version 1.1;
# Proxy uri to running prerender.io instance.
proxy_pass http://prerender;
}
location / {
content_by_lua '
ngx.exec(ngx.var.route)
';
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment