server { server_name groceries.alaevens.ca; location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_redirect off; proxy_buffering off; proxy_pass http://container; } location /downloads/ { autoindex on; alias /var/www/groceries.alaevens.ca/downloads/; } location /static/ { alias /var/www/groceries.alaevens.ca/data/static/; } location /media/ { alias /var/www/groceries.alaevens.ca/data/media/; } location /app/ { alias /var/www/groceries.alaevens.ca/web_app/; index index.html; } listen [::]:443 ssl; listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/alaevens.ca/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/alaevens.ca/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = groceries.alaevens.ca) { return 301 https://$host$request_uri; } # managed by Certbot server_name groceries.alaevens.ca; listen [::]:80; listen 80; return 404; # managed by Certbot } upstream container { server 127.0.0.1:8001; }