summarylogtreecommitdiffstats
path: root/ente-server-nginx.conf
blob: 81d9d50ca9d8c9bfec87368775c00f1bf3d40f7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
upstream ente-server {
    # https://nginx.org/en/docs/http/ngx_http_upstream_module.html
    server localhost:8080 max_conns=50;

    # Keep these many connections alive to upstream (requires HTTP/1.1)
    keepalive 20;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <your_public_domain.tld>;
    include https_security_headers.conf;

    # SSL settings
    ssl_certificate /etc/letsencrypt/live/<your_public_domain.tld>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<your_public_domain.tld>/privkey.pem;
    ssl_dhparam ssl_dhparam_gen5_4096.pem;

    # Global SSL settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:le_nginx_SSL_ente_server:1m;
    ssl_session_timeout 1440m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;

    location / {
        proxy_pass http://ente-server;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        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_set_header X-Forwarded-Proto $scheme;
    }
}