server { listen 80; listen [::]:80; server_name _; location /.well-known/acme-challenge { alias /web/acme; } return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name map.ojuso.org; ssl_certificate /web/certs/map.ojuso.org/fullchain.pem; ssl_certificate_key /web/certs/map.ojuso.org/privkey.pem; ssl_dhparam /web/certs/dhparam.pem; ssl_trusted_certificate /web/certs/map.ojuso.org/chain.pem; include directives/*; location /static/ { alias /web/static/; expires 30d; } location / { proxy_pass http://map:8000; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } client_max_body_size 20M; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name forum.ojuso.org; ssl_certificate /web/certs/forum.ojuso.org/fullchain.pem; ssl_certificate_key /web/certs/forum.ojuso.org/privkey.pem; ssl_dhparam /web/certs/dhparam.pem; ssl_trusted_certificate /web/certs/map.ojuso.org/chain.pem; include directives/*; http2_idle_timeout 5m; location / { proxy_pass http://unix:/web/run/discourse.sock:; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name energy.ojuso.org; ssl_certificate /web/certs/energy.ojuso.org/fullchain.pem; ssl_certificate_key /web/certs/energy.ojuso.org/privkey.pem; ssl_dhparam /web/certs/dhparam.pem; ssl_trusted_certificate /web/certs/energy.ojuso.org/chain.pem; include directives/*; http2_idle_timeout 5m; root /web/weblate/data/static; gzip on; gzip_proxied any; gzip_types text/plain application/atom+xml application/rss+xml application/javascript text/xml text/css application/xml application/json image/svg+xml font/opentype application/x-font-ttf application/vnd.ms-fontobject; location /favicon.ico { alias /web/weblate/data/static/favicon.ico; expires 30d; add_header Cache-Control "public"; } location /robots.txt { alias /web/weblate/data/static/robots.txt; expires 30d; add_header Cache-Control "public"; } location /static { alias /web/weblate/data/static/; expires 30d; add_header Cache-Control "public"; } location /media { alias /web/weblate/data/media/; expires 30d; add_header Cache-Control "public"; } location / { proxy_pass http://weblate:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; add_header Cache-Control "no-cache"; } }