Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- server {
- if ($host = jellyfin.ovingivhomelab.page) {
- return 301 https://$host$request_uri;
- } # managed by Certbot
- listen 80;
- server_name jellyfin.ovingivhomelab.page;
- return 301 https://$server_name$request_uri;
- }
- server {
- listen 443 ssl http2;
- server_name jellyfin.ovingivhomelab.page;
- access_log /var/log/nginx/jellyfin.access;
- error_log /var/log/nginx/jellyfin.error;
- set $jellyfin 127.0.0.1;
- # allow larger file uploads and longer script runtimes
- client_max_body_size 100m;
- client_body_timeout 120s;
- sendfile off;
- # SSL Configuration - Replace the example <domain> with your domain
- ssl_certificate /etc/letsencrypt/live/jellyfin.ovingivhomelab.page/fullchain.pem; # managed by Certbot
- ssl_certificate_key /etc/letsencrypt/live/jellyfin.ovingivhomelab.page/privkey.pem; # managed by Certbot
- ssl_session_cache shared:SSL:10m;
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
- ssl_prefer_server_ciphers on;
- # See https://hstspreload.org/ before uncommenting the line below.
- # add_header Strict-Transport-Security "max-age=15768000; preload;";
- add_header X-Content-Type-Options nosniff;
- add_header X-XSS-Protection "1; mode=block";
- add_header X-Robots-Tag none;
- add_header Content-Security-Policy "frame-ancestors 'self'";
- add_header X-Frame-Options DENY;
- add_header Referrer-Policy same-origin;
- location / {
- proxy_pass http://127.0.0.1:8096;
- 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;
- proxy_set_header X-Forwarded-Protocol $scheme;
- proxy_set_header X-Forwarded-Host $http_host;
- # Disable buffering when the nginx proxy gets very resource heavy upon streaming
- proxy_buffering off;
- }
- # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
- location ~ ^/web/$ {
- # Proxy main Jellyfin traffic
- proxy_pass http://$jellyfin:8096/web/index.html/;
- 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;
- proxy_set_header X-Forwarded-Protocol $scheme;
- proxy_set_header X-Forwarded-Host $http_host;
- }
- location /socket {
- # Proxy Jellyfin Websockets traffic
- proxy_pass http://$127.0.0.1:8096;
- 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;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Forwarded-Protocol $scheme;
- proxy_set_header X-Forwarded-Host $http_host;
- }
- # Security / XSS Mitigation Headers
- add_header X-Frame-Options "SAMEORIGIN";
- add_header X-XSS-Protection "1; mode=block";
- add_header X-Content-Type-Options "nosniff";
- add_header Strict-Transport-Security "max-age=31536000" always; # managed by Certbot
- ssl_trusted_certificate /etc/letsencrypt/live/jellyfin.ovingivhomelab.page/chain.pem; # managed by Certbot
- ssl_stapling on; # managed by Certbot
- ssl_stapling_verify on; # managed by Certbot
- }
- # location ~ \.php$ {
- # fastcgi_split_path_info ^(.+\.php)(/.+)$;
- # fastcgi_pass unix:/run/php/php8.1-fpm.sock;
- # fastcgi_index index.php;
- # include fastcgi_params;
- # fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
- # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- # fastcgi_param HTTP_PROXY "";
- # fastcgi_intercept_errors off;
- # fastcgi_buffer_size 16k;
- # fastcgi_buffers 4 16k;
- # fastcgi_connect_timeout 300;
- # fastcgi_send_timeout 300;
- # fastcgi_read_timeout 300;
- # include /etc/nginx/fastcgi_params;
- # }
- #
- # location ~ /\.ht {
- # deny all;
- # }
- #}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement