Default All Clients to Max Internet Streaming

You need to set up nginx as a reverse proxy for Plex first and then in your configuration file you put those rules at the top of the location / { } directive using an include statement pointing to the file. Insert my bitrate code in the file shown with the directive “include /etc/nginx/conf.d/plex_force_bitrate.include;”.

Here is my config file:

upstream plexserver {
        server IP-OF-YOUR-PLEX-SERVER:32400;
        keepalive 32;
}

server {
        server_name DOMAIN-OF-YOUR-PLEX-SERVER.COM;

        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

        location / {
                include /etc/nginx/conf.d/plex_force_bitrate.include;

                send_timeout 100m;

                gzip on;
                gzip_vary on;
                gzip_min_length 1000;
                gzip_proxied any;
                gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;
                gzip_disable "MSIE [1-6]\.";

                client_max_body_size 500M;

                proxy_set_header Host $host;
                proxy_set_header Referer $server_addr;
                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-Plex-Client-Identifier $http_x_plex_client_identifier;
                proxy_set_header X-Plex-Device $http_x_plex_device;
                proxy_set_header X-Plex-Device-Name $http_x_plex_device_name;
                proxy_set_header X-Plex-Platform $http_x_plex_platform;
                proxy_set_header X-Plex-Platform-Version $http_x_plex_platform_version;
                proxy_set_header X-Plex-Product $http_x_plex_product;
                proxy_set_header X-Plex-Token $http_x_plex_token;
                proxy_set_header X-Plex-Version $http_x_plex_version;
                proxy_set_header X-Plex-Nocache $http_x_plex_nocache;
                proxy_set_header X-Plex-Provides $http_x_plex_provides;
                proxy_set_header X-Plex-Device-Vendor $http_x_plex_device_vendor;
                proxy_set_header X-Plex-Model $http_x_plex_model;
                proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
                proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
                proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                proxy_http_version 1.1;
                proxy_redirect off;
                proxy_buffering off;

                proxy_pass https://plexserver;
        }

	location /tautulli/ {
                proxy_pass https://IP-OF-TAUTULLI:8080;

                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-Ssl on;

                proxy_read_timeout 90;
        }

	ssl_stapling on;
        ssl_stapling_verify on;

        listen 443 http2;
#        listen [::]:443;
        ssl_certificate /etc/letsencrypt/live/LETSENCRYPTDOMAIN/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/LETSENCRYPTDOMAIN/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
3 Likes