summaryrefslogtreecommitdiff
path: root/guix/etc/nginx/sites-enabled/env.site
diff options
context:
space:
mode:
authorNils Gillmann <ng0@n0.is>2018-09-27 19:24:10 +0000
committerNils Gillmann <ng0@n0.is>2018-09-27 19:24:10 +0000
commit430db6a55226ea4a9c33e322edc4a3a7b325393c (patch)
treed9d0a25b6b3103bcda84d0aa32c007fa3c2d1302 /guix/etc/nginx/sites-enabled/env.site
parent82741d1288c8755bfdf57d0e0ce77d6ee121b913 (diff)
downloaddeployment-430db6a55226ea4a9c33e322edc4a3a7b325393c.tar.gz
deployment-430db6a55226ea4a9c33e322edc4a3a7b325393c.tar.bz2
deployment-430db6a55226ea4a9c33e322edc4a3a7b325393c.zip
complications with the way guix builds are made lead me to work on the content of etc in a copied, not symlinked location.
Signed-off-by: Nils Gillmann <ng0@n0.is>
Diffstat (limited to 'guix/etc/nginx/sites-enabled/env.site')
-rw-r--r--guix/etc/nginx/sites-enabled/env.site85
1 files changed, 85 insertions, 0 deletions
diff --git a/guix/etc/nginx/sites-enabled/env.site b/guix/etc/nginx/sites-enabled/env.site
new file mode 100644
index 0000000..fbe31aa
--- /dev/null
+++ b/guix/etc/nginx/sites-enabled/env.site
@@ -0,0 +1,85 @@
+server {
+ listen 80;
+ listen [::]:80;
+ server_name env.taler.net;
+ rewrite ^ https://$host$request_uri? permanent;
+}
+
+server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+ server_name env.taler.net;
+ include conf.d/talerssl;
+ root /dev/null;
+ # rewrite_log on;
+
+ # add trailing slashes to apps
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)$ /$user/$app/ redirect;
+ # add trailing slashes to user
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)$ /$user/ redirect;
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/$ /$user/en/ redirect;
+
+ # aliases to get from one page to the other
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/landing /$user/ redirect;
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/bank /$user/bank redirect;
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/shop /$user/shop redirect;
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/donations /$user/donations redirect;
+ rewrite ^/(?<user>[a-zA-Z0-9-_]+)/(?<app>[a-zA-Z0-9-_]+)/survey /$user/survey redirect;
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/exchange/(?<req>.*) {
+ proxy_pass http://unix:/home/$user/sockets/exchange.http:/$req$is_args$args;
+ proxy_redirect off;
+ proxy_set_header Host $host;
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/merchant-backend/(?<req>.*) {
+ proxy_pass http://unix:/home/$user/sockets/merchant.http:/$req;
+ proxy_redirect off;
+ proxy_set_header Host $host;
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/bank(?<req>/?.*|)$ {
+ uwsgi_pass unix:/home/$user/sockets/bank.uwsgi;
+ include /etc/nginx/uwsgi_params;
+ uwsgi_param SCRIPT_NAME "/$user/bank/";
+ uwsgi_param PATH_INFO "$req";
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/shop(?<req>/?.*|)$ {
+ uwsgi_pass unix:/home/$user/sockets/shop.uwsgi;
+ include /etc/nginx/uwsgi_params;
+ uwsgi_param SCRIPT_NAME "/$user/shop/";
+ uwsgi_param PATH_INFO "$req";
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/donations(?<req>/.*|)$ {
+ uwsgi_pass unix:/home/$user/sockets/donations.uwsgi;
+ include /etc/nginx/uwsgi_params;
+ uwsgi_param SCRIPT_NAME "/$user/donations/";
+ uwsgi_param PATH_INFO "$req";
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)(?<req>/.*|)$ {
+ # add index.html
+ rewrite ^/(.*)/(..)/$ /$1/$2/index.html last;
+ # strip /user/
+ rewrite ^/([a-zA-Z0-9-_]+)/(.*)$ /$2 break;
+ root /home/$user/landing/demo;
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/auditor(?<req>/.*|)$ {
+ uwsgi_pass unix:/home/$user/sockets/auditor.uwsgi;
+ include /etc/nginx/uwsgi_params;
+ uwsgi_param SCRIPT_NAME "/$user/";
+ uwsgi_param PATH_INFO "$req";
+ }
+
+ location ~ ^/(?<user>[a-zA-Z0-9-_]+)/survey(?<req>/.*|)$ {
+ uwsgi_pass unix:/home/$user/sockets/survey.uwsgi;
+ include /etc/nginx/uwsgi_params;
+ uwsgi_param SCRIPT_NAME "/$user/";
+ uwsgi_param PATH_INFO "$req";
+ }
+
+ include conf.d/favicon_robots;
+}