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/;
}
location ~* /{{tribeId}}/schema/{
    rewrite /{{tribeId}}/schema/(.*$) /$1 break;
    root {{dirtown}}/tribes/{{tribeId}}/schema/;
}

location ~* /{{tribeId}}/models/{
    rewrite /{{tribeId}}/models/(.*$) /$1 break;
    root {{dirtown}}/tribes/{{tribeId}}/api/models/lg/;
}

# /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;
}
}