upstream waifu2x { least_conn; server localhost:8812; # .. } map $http_accept_language $lang { default en; ~ja ja; ~ru ru; ~pt pt; ~es es; ~fr fr; ~de de; ~tr tr; ~zh-CN zh-CN; ~zh-TW zh-TW; ~zh zh-CN; ~ko ko; ~nl nl; ~ca ca; ~ro ro; ~it it; ~eo eo; ~no no; ~uk uk; ~pl pl; ~bg bg; ~en en; } #limit_req_zone $binary_remote_addr zone=one:128m rate=10r/m; server { # listen 80 default_server; server_name waifu2x.udp.jp; # fill your domain access_log /var/log/nginx/waifu2x.access.log; root /home/ubuntu/waifu2x/assets; try_files $uri $uri/index.$lang.html $uri/index.html @api; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location ~ ^/(apple-touch-icon|browserconfig|mstile)(.*)\.(png|xml|ico)$ { return 204; } location @api { # limit_req zone=one burst=3; proxy_pass http://waifu2x; } }