Nginx反向代理Plex时非本地识别问题的解决方法
问题
运行Plex Media Server 1.31.2.6810版本,已在Plex服务器网络设置中配置自定义域名https://plex.mydomain.com和https://mediaplex.mydomain.com,但控制台持续报错:
Request came in with unrecognized domain / IP 'plex.mydomain.com' in header Referer; treating as non-local
需要让Plex客户端被识别为本地设备。
解决方案
参考@patriotyk的思路,配置适配自定义域名的Nginx反向代理(需确保Plex网络设置正确),同时搭配优化的gzip配置,在CPU资源充足的前提下可最大化Plex客户端性能。不同于多数在线示例,此处未禁用proxy_buffers,结合最高等级的gzip压缩(level 9)和gzip_min_length=256,性能提升明显,影视海报可批量快速加载。
nginx.conf 配置
http { gzip on; gzip_vary on; gzip_min_length 256; gzip_proxied any; gzip_comp_level 9; gzip_disable "MSIE [1-6]\."; gzip_types text/css text/xml text/plain text/javascript text/cache-manifest text/x-cross-domain-policy application/javascript application/x-javascript application/json application/manifest+json application/xml application/xml+rss application/xhtml+xml application/rss+xml application/rdf+xml application/atom+xml application/atom_xml application/geo+json application/ttf application/x-ttf application/x-font-ttf application/x-font-otf application/x-font-truetype application/x-font-opentype application/x-web-app-manifest+json application/vnd.ms-fontobject font/eot font/otf font/ttf font/opentype image/svg+xml image/x-icon image/bmp; geo $lan { default 0; 192.168.1.0/24 1; } map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream plex_backend { server 192.168.1.2:32400; keepalive 32; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name plex.mydomain.com mediaplex.mydomain.com; client_max_body_size 0; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location / { if ($http_x_plex_device_name = '') { rewrite ^/$ /web/index.html; } proxy_pass http://plex_backend; proxy_set_header Host 192.168.1.2; proxy_set_header Referer https://192.168.1.2:32400; proxy_set_header Origin 192.168.1.2; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Accept-Encoding ""; 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-Host $host; proxy_set_header X-Forwarded-Port $server_port; 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-Protocol $http_sec_websocket_protocol; proxy_set_header Sec-Websocket-Version $http_sec_websocket_version; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffers 512 512k; proxy_buffer_size 512k; proxy_busy_buffers_size 512k; proxy_redirect off; } } }
效果验证
使用上述配置后,原报错不再出现,控制台日志显示客户端已被识别为本地设备:
Request: [192.168.1.2:31997 (Allowed Network (Subnet))] GET /status/sessions (14 live) #dc855 Signed-in
内容的提问来源于stack exchange,提问作者MKANET
相关产品推荐
相关产品推荐

