server { server_name {{#dns}} {{.}} {{/dns}}; access_log {{{nginx.logs}}}.access.log main; set $trackme 0; if ( $uri ~ ^/trk/ ){ set $trackme 1; } access_log {{{nginx.logs}}}.trk.log tracker if=$trackme ; location ~* /trk/ { if ( $uri ~ ^/trk/redirect ){ return 301 $arg_url; } rewrite ^/trk/(.*)$ /$1; } location /Checkjson.js { alias {{{dirapi}}}/api/models/Checkjson.js; } location ~* /nationchains/(blocks|pagans|towns|nations)/ { # Warning: never add tribes for keeping it private root {{{dirapi}}}/; } location ~* /nationchains/models/ { rewrite /nationchains/models/(.*$) /$1 break; root {{{dirapi}}}/api/models/lg/; } location ~* /nationchains/schema/ { #outside of nationchains for git purpose rewrite /nationchains/schema/(.*$) /$1 break; root {{{dirapi}}}/adminapi/schema/; } # /plugins/pluginame/components/xxx?plugin=pluginname&pluginkey=key # acess if exist pluginkey location /plugins/ { add_header X-debug "plugins local $arg_plugin/keys/$arg_pluginkey sent"; root {{{nginx.fswww}}}/plugins/; if (-f {{{nginx.fswww}}}/plugins/$arg_plugin/keys/$arg_pluginkey) { rewrite /plugins/([^/]+)/components/([^\?]+) /$1/components/$2 break; } return 403 "No valid token access for plugin:$arg_plugin with token:$arg_pluginkey please ask your admin"; } location /cdn/ { expires 1y; add_header Cache-Control "public"; rewrite /cdn/(.*$) /$1 break; root {{{nginx.fswww}}}/cdn/; } location /spacedev/ { rewrite /spacedev/(.*$) /$1 break; root {{{nginx.fswww}}}spacedev/{{{nginx.website}}}/dist/; } location /api/ { rewrite /api/(.*$) /$1 break; proxy_pass http://localhost:{{{api.port}}}; proxy_redirect off; include proxy_params; } location /apxwebapp/ { rewrite /apxwebapp/(.*$) /$1 break; root {{{dirapxwebapp}}}/apxwebapp/; index index.html index_en.html; } #to add htpasswd install apache2-utils => sudo htpasswd -c dirtown/tribes/tribeId/.htpasswd loginname passwd see man for option location / { {{#nginx.private}} auth_basic "Mot de passe {{nginx.privatelogin}}"; auth_basic_user_file {{dirtown}}/tribes/{{tribeId}}/.htpasswd; {{/nginx.private}} root {{{nginx.fswww}}}/{{{nginx.website}}}; index index.html {{{nginx.pageindex}}}; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/nginx/html; } }