123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- worker_processes ${{NUM_WORKERS}};
- daemon on;
- pid logs/nginx.pid;
-
- events {
- worker_connections 1024;
- }
-
- http {
- charset UTF-8;
- include mime.types;
-
- server_tokens off;
-
- # blocking non-local requests
- geo $bad_client {
- default 1;
- 127.0.0.1 0;
- }
-
- server {
- listen ${{PORT}};
- lua_code_cache ${{CODE_CACHE}};
-
- if ($bad_client) {
- return 301 https://${{DOMAIN}}/$request_uri; #permanent
- }
-
- location / {
- default_type text/html;
- set $_url "";
- content_by_lua '
- require("lapis").serve("app")
- ';
- }
-
- 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;
- }
-
- location /static/ {
- alias static/;
- }
-
- location /favicon.ico {
- alias static/favicon.ico;
- }
- }
- }
|