access_log /var/log/nginx/access_mempool.log; error_log /var/log/nginx/error_mempool.log; root /var/www/mempool/browser; index index.html; # enable browser and proxy caching add_header Cache-Control "public, no-transform"; # vary cache if user changes language preference add_header Vary Accept-Language; add_header Vary Cookie; # fallback for all URLs i.e. /address/foo /tx/foo /block/000 location / { try_files /$lang/$uri /$lang/$uri/ $uri $uri/ /en-US/$uri @index-redirect; expires 10m; } location /resources { try_files $uri @index-redirect; expires 1h; } # only cache /resources/config.* for 5 minutes since it changes often location /resources/config. { try_files $uri =404; expires 5m; } # only cache /resources/customize.* for 5 minutes since it changes often location /resources/customize. { try_files $uri =404; expires 5m; } location @index-redirect { rewrite (.*) /$lang/index.html; } # location block using regex are matched in order # used for cookie override location ~ ^/(ar|bg|bs|cs|da|de|et|el|es|eo|eu|fa|fr|gl|ko|hr|id|it|he|ka|lv|lt|hu|mk|ms|nl|ja|nb|nn|pl|pt|pt-BR|ro|ru|sk|sl|sr|sh|fi|sv|th|tr|uk|vi|zh|hi)/ { try_files $uri $uri/ /$1/index.html =404; } # static API docs location = /api { try_files $uri $uri/ /en-US/index.html =404; } location = /api/ { try_files $uri $uri/ /en-US/index.html =404; } location /api/v1/ws { proxy_pass http://127.0.0.1:8999/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } location /api/v1 { proxy_pass http://127.0.0.1:8999/api/v1; } location /api/ { proxy_pass http://127.0.0.1:8999/api/v1/; } # mainnet API location /ws { proxy_pass http://127.0.0.1:8999/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }