upstream planetposen-frontend { server planetposen.schleppe:4173; } upstream planetposen-backend { server planetposen.schleppe:30010; } upstream planetposen-images { server planetposen.schleppe:8000; } upstream planetposen-ws { # enable sticky session based on IP ip_hash; server planetposen.schleppe:30010; } server { listen 80; listen [::]:80; server_name planetposen.no planet.schleppe.cloud; add_header Upgrading Connection; return 302 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name planetposen.no; location / { root /opt/planetposen-original/; autoindex off; } ssl_certificate /etc/letsencrypt/live/planetposen.no-0001/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/planetposen.no-0001/privkey.pem; # managed by Certbot } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name planet.schleppe.cloud; location /ws { resolver 10.0.0.72; proxy_pass http://planetposen-ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /api/v1/images { resolver 10.0.0.72; proxy_pass http://planetposen-images/api/v1/images; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_request_buffering off; add_header 'Access-Control-Allow-Origin' 'planet.schleppe.cloud'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type'; client_max_body_size 5M; } location /api { resolver 10.0.0.72; proxy_pass http://planetposen-backend/api; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # add_header 'Access-Control-Allow-Origin' 'planet.schleppe.cloud'; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type'; } location / { resolver 10.0.0.72; proxy_pass http://planetposen-frontend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header 'Access-Control-Allow-Origin' 'planet.schleppe.cloud'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type'; } ssl_certificate /etc/letsencrypt/live/planet.schleppe.cloud/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/planet.schleppe.cloud/privkey.pem; # managed by Certbot }