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";
	}