2021-01-11 23:07:16 +09:00
|
|
|
user nobody;
|
|
|
|
|
pid /var/run/nginx.pid;
|
|
|
|
|
|
2020-02-24 03:11:07 +07:00
|
|
|
worker_processes auto;
|
2021-01-11 23:07:16 +09:00
|
|
|
worker_rlimit_nofile 100000;
|
2020-02-24 03:11:07 +07:00
|
|
|
|
|
|
|
|
events {
|
2021-01-11 23:07:16 +09:00
|
|
|
worker_connections 9000;
|
|
|
|
|
multi_accept on;
|
2020-02-24 03:11:07 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
http {
|
2026-05-31 05:29:29 +09:00
|
|
|
# HTTP basic configuration
|
|
|
|
|
include /etc/nginx/http-basic.conf;
|
2020-02-24 03:11:07 +07:00
|
|
|
|
|
|
|
|
include /etc/nginx/mime.types;
|
|
|
|
|
default_type application/octet-stream;
|
|
|
|
|
|
2021-01-11 23:07:16 +09:00
|
|
|
# proxy cache
|
|
|
|
|
proxy_cache off;
|
|
|
|
|
proxy_cache_path /var/cache/nginx keys_zone=cache:20m levels=1:2 inactive=600s max_size=500m;
|
|
|
|
|
types_hash_max_size 2048;
|
|
|
|
|
|
|
|
|
|
# exempt localhost from rate limit
|
|
|
|
|
geo $limited_ip {
|
|
|
|
|
default 1;
|
|
|
|
|
127.0.0.1 0;
|
|
|
|
|
}
|
|
|
|
|
map $limited_ip $limited_ip_key {
|
|
|
|
|
1 $binary_remote_addr;
|
|
|
|
|
0 '';
|
|
|
|
|
}
|
2020-02-24 03:11:07 +07:00
|
|
|
|
2021-01-11 23:07:16 +09:00
|
|
|
# rate limit requests
|
|
|
|
|
limit_req_zone $limited_ip_key zone=api:5m rate=200r/m;
|
|
|
|
|
limit_req_zone $limited_ip_key zone=electrs:5m rate=2000r/m;
|
|
|
|
|
limit_req_status 429;
|
|
|
|
|
|
|
|
|
|
# rate limit connections
|
|
|
|
|
limit_conn_zone $limited_ip_key zone=websocket:10m;
|
|
|
|
|
limit_conn_status 429;
|
|
|
|
|
|
|
|
|
|
map $http_accept_language $header_lang {
|
|
|
|
|
default en-US;
|
|
|
|
|
~*^en-US en-US;
|
|
|
|
|
~*^en en-US;
|
|
|
|
|
~*^ar ar;
|
|
|
|
|
~*^cs cs;
|
2023-03-08 21:07:41 +09:00
|
|
|
~*^da da;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^de de;
|
|
|
|
|
~*^es es;
|
|
|
|
|
~*^fa fa;
|
|
|
|
|
~*^fr fr;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^ko ko;
|
|
|
|
|
~*^it it;
|
2021-02-25 17:16:22 +07:00
|
|
|
~*^he he;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^ka ka;
|
2021-01-24 04:19:50 +07:00
|
|
|
~*^hu hu;
|
2021-09-17 15:03:52 +09:00
|
|
|
~*^mk mk;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^nl nl;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^ja ja;
|
|
|
|
|
~*^nb nb;
|
2021-04-26 05:34:40 +09:00
|
|
|
~*^pl pl;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^pt pt;
|
2021-09-17 15:01:49 +09:00
|
|
|
~*^ro ro;
|
2021-07-19 18:36:13 +09:00
|
|
|
~*^ru ru;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^sl sl;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^fi fi;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^sv sv;
|
2021-11-17 21:03:35 +09:00
|
|
|
~*^th th;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^tr tr;
|
|
|
|
|
~*^uk uk;
|
|
|
|
|
~*^vi vi;
|
|
|
|
|
~*^zh zh;
|
2021-07-19 18:36:13 +09:00
|
|
|
~*^hi hi;
|
2023-01-26 15:54:07 +04:00
|
|
|
~*^ne ne;
|
2022-12-26 22:44:21 +04:00
|
|
|
~*^lt lt;
|
2024-08-12 00:07:48 +02:00
|
|
|
~*^hr hr;
|
2021-01-11 23:07:16 +09:00
|
|
|
}
|
2020-02-24 03:11:07 +07:00
|
|
|
|
2021-01-11 23:07:16 +09:00
|
|
|
map $cookie_lang $lang {
|
|
|
|
|
default $header_lang;
|
|
|
|
|
~*^en-US en-US;
|
|
|
|
|
~*^en en-US;
|
|
|
|
|
~*^ar ar;
|
|
|
|
|
~*^cs cs;
|
2023-03-08 21:07:41 +09:00
|
|
|
~*^da da;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^de de;
|
|
|
|
|
~*^es es;
|
|
|
|
|
~*^fa fa;
|
|
|
|
|
~*^fr fr;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^ko ko;
|
|
|
|
|
~*^it it;
|
2021-02-25 17:16:22 +07:00
|
|
|
~*^he he;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^ka ka;
|
2021-01-24 04:19:50 +07:00
|
|
|
~*^hu hu;
|
2021-09-17 15:03:52 +09:00
|
|
|
~*^mk mk;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^nl nl;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^ja ja;
|
|
|
|
|
~*^nb nb;
|
2021-04-26 05:34:40 +09:00
|
|
|
~*^pl pl;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^pt pt;
|
2021-09-17 15:01:49 +09:00
|
|
|
~*^ro ro;
|
2021-07-19 18:36:13 +09:00
|
|
|
~*^ru ru;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^sl sl;
|
2021-01-27 20:24:32 +07:00
|
|
|
~*^fi fi;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^sv sv;
|
2021-11-17 21:03:35 +09:00
|
|
|
~*^th th;
|
2021-01-11 23:07:16 +09:00
|
|
|
~*^tr tr;
|
|
|
|
|
~*^uk uk;
|
|
|
|
|
~*^vi vi;
|
|
|
|
|
~*^zh zh;
|
2021-07-19 18:36:13 +09:00
|
|
|
~*^hi hi;
|
2023-01-26 15:54:07 +04:00
|
|
|
~*^ne ne;
|
2022-12-26 22:44:21 +04:00
|
|
|
~*^lt lt;
|
2024-08-12 00:07:48 +02:00
|
|
|
~*^hr hr;
|
2020-02-24 03:11:07 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
server {
|
2021-01-11 23:07:16 +09:00
|
|
|
listen 127.0.0.1:80;
|
|
|
|
|
include /etc/nginx/nginx-mempool.conf;
|
2020-02-24 03:11:07 +07:00
|
|
|
}
|
|
|
|
|
}
|