worker_processes ${{NUM_WORKERS}}; error_log stderr notice; daemon off; env PORT; env GIT_REV; events { worker_connections 1024; } http { include mime.types; server { listen ${{PORT}}; lua_code_cache ${{CODE_CACHE}}; location / { set $_url ""; default_type text/html; content_by_lua ' require("lapis").serve("app") '; } location /static/ { alias static/; } location /static/comp/ { alias bower_components/; } location /favicon.ico { alias static/favicon.ico; } location /humans.txt { alias static/humans.txt; } location /keybase.txt { alias static/keybase.txt; } location /capture { internal; resolver 8.8.8.8; set_unescape_uri $clean_url $arg_url; proxy_pass $clean_url; } location /proxy { internal; rewrite_by_lua " local req = ngx.req for k,v in pairs(req.get_headers()) do if k ~= 'content-length' then req.clear_header(k) end end if ngx.ctx.headers then for k,v in pairs(ngx.ctx.headers) do req.set_header(k, v) end end "; resolver 8.8.8.8; proxy_http_version 1.1; proxy_pass $_url; } } }