env.site (2863B)
1 server { 2 listen 80; 3 listen [::]:80; 4 server_name env.taler.net; 5 rewrite ^ https://$host$request_uri? permanent; 6 } 7 8 server { 9 listen 443 ssl; 10 listen [::]:443 ssl; 11 server_name env.taler.net; 12 include conf.d/talerssl; 13 root /dev/null; 14 # rewrite_log on; 15 16 # add trailing slashes to apps 17 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)$ /$user/$app/ redirect; 18 # add trailing slashes to user 19 rewrite ^/(?<user>[a-zA-Z0-9-_]+)$ /$user/ redirect; 20 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/$ /$user/en/ redirect; 21 22 # aliases to get from one page to the other 23 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/landing /$user/ redirect; 24 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/bank /$user/bank redirect; 25 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/shop /$user/shop redirect; 26 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/donations /$user/donations redirect; 27 rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/survey /$user/survey redirect; 28 29 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/exchange/(?<req>.*) { 30 proxy_pass http://unix:/home/$user/sockets/exchange.http:/$req$is_args$args; 31 proxy_redirect off; 32 proxy_set_header Host $host; 33 } 34 35 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/merchant-backend/(?<req>.*) { 36 proxy_pass http://unix:/home/$user/sockets/merchant.http:/$req; 37 proxy_redirect off; 38 proxy_set_header Host $host; 39 } 40 41 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/bank(?<req>/?.*|)$ { 42 uwsgi_pass unix:/home/$user/sockets/bank.uwsgi; 43 include /etc/nginx/uwsgi_params; 44 uwsgi_param SCRIPT_NAME "/$user/bank/"; 45 uwsgi_param PATH_INFO "$req"; 46 } 47 48 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/shop(?<req>/?.*|)$ { 49 uwsgi_pass unix:/home/$user/sockets/shop.uwsgi; 50 include /etc/nginx/uwsgi_params; 51 uwsgi_param SCRIPT_NAME "/$user/shop/"; 52 uwsgi_param PATH_INFO "$req"; 53 } 54 55 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/donations(?<req>/.*|)$ { 56 uwsgi_pass unix:/home/$user/sockets/donations.uwsgi; 57 include /etc/nginx/uwsgi_params; 58 uwsgi_param SCRIPT_NAME "/$user/donations/"; 59 uwsgi_param PATH_INFO "$req"; 60 } 61 62 location ~ ^/(?<user>[a-zA-Z0-9-_]+)(?<req>/.*|)$ { 63 # add index.html 64 rewrite ^/(.*)/(..)/$ /$1/$2/index.html last; 65 # strip /user/ 66 rewrite ^/([a-zA-Z0-9-_]+)/(.*)$ /$2 break; 67 root /home/$user/landing/demo; 68 } 69 70 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/auditor(?<req>/.*|)$ { 71 uwsgi_pass unix:/home/$user/sockets/auditor.uwsgi; 72 include /etc/nginx/uwsgi_params; 73 uwsgi_param SCRIPT_NAME "/$user/"; 74 uwsgi_param PATH_INFO "$req"; 75 } 76 77 location ~ ^/(?<user>[a-zA-Z0-9-_]+)/survey(?<req>/.*|)$ { 78 uwsgi_pass unix:/home/$user/sockets/survey.uwsgi; 79 include /etc/nginx/uwsgi_params; 80 uwsgi_param SCRIPT_NAME "/$user/"; 81 uwsgi_param PATH_INFO "$req"; 82 } 83 84 include conf.d/favicon_robots; 85 }