ojuso-map/support/nginx/nginx.template
2017-05-21 01:58:54 +02:00

129 lines
3.2 KiB
Plaintext

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";
}
}