Files
nginx/sites-available/planetposen.conf

98 lines
2.5 KiB
Plaintext

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;
more_set_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;
include snippets/proxy-params.conf;
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";
}
location /api/v1/images {
resolver 10.0.0.72;
proxy_pass http://planetposen-images/api/v1/images;
proxy_request_buffering off;
more_set_header 'Access-Control-Allow-Origin planet.schleppe.cloud';
more_set_header 'Access-Control-Allow-Methods GET, POST, OPTIONS';
more_set_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;
# add_header 'Access-Control-Allow-Origin' 'planet.schleppe.cloud';
more_set_header 'Access-Control-Allow-Origin *';
more_set_header 'Access-Control-Allow-Methods GET, POST, OPTIONS';
more_set_header 'Access-Control-Allow-Headers Content-Type';
}
location / {
resolver 10.0.0.72;
proxy_pass http://planetposen-frontend;
more_set_header 'Access-Control-Allow-Origin planet.schleppe.cloud';
more_set_header 'Access-Control-Allow-Methods GET, POST, OPTIONS';
more_set_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
}