原因:洁癖,第三方修改可能存在安全问题。
优点:支持原版最新镜像,不修改服务端、不下载第三方插件、不修改客户端,不劫持网络。
思路:使用 Nginx 反向代理 Emby,并替换 JS 中激活服务器地址。
下面是我使用宝塔反代的Nginx 配置
client_max_body_size 5000M;
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 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_cache off;
proxy_redirect off;
proxy_buffering off;
location / {
proxy_pass http://192.168.2.1:8096;# Emby服务器地址
proxy_set_header X-Forwarded-For $remote_addr;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
location ~* \.(gif|png|jpg|css|js|woff|woff2)$ {
proxy_pass http://192.168.2.6:8097; # Emby服务器地址
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 REMOTE-HOST $remote_addr;
expires 12h; # 图片缓存浏览器过期时间
}
# 替换指定 JS 文件的激活服务器地址为本地
location ^~ /web/modules/emby-apiclient/connectionmanager.js {
proxy_pass http://192.168.2.6:8097;
# 通用代理头设置
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 替换激活服务器地址
sub_filter 'https://mb3admin.com/' '/';
sub_filter_once off;
# 只替换 JS 类型的文件
sub_filter_types application/javascript application/x-javascript;
}
# 模拟激活服务器响应
location ^~ /admin/service/registration/validateDevice {
default_type application/json;
add_header Content-Type application/json;
return 200 '{"cacheExpirationDays":365,"message":"Device Valid","resultCode":"GOOD"}';
}
# 修正秘钥页面填写问题(可省略)
location ^~ /Plugins/SecurityInfo {
default_type application/json;
add_header Content-Type application/json;
return 200 '{"SupporterKey":"请体验后支持正版","IsMBSupporter":true}';
}另外一组普通配置:
server {
listen 80;
server_name xxx.com;#你的域名
client_max_body_size 6000M;
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 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_cache off;
proxy_redirect off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;#反代域名
proxy_set_header X-Forwarded-For $remote_addr;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host 127.0.0.1:8080;#反代域名
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
评论