标签搜索

NGINX反代EMBY

Thomas
2025-01-25 / 0 评论 / 3 阅读 / 正在检测是否收录...

原因:洁癖,第三方修改可能存在安全问题。

优点:支持原版最新镜像,不修改服务端、不下载第三方插件、不修改客户端,不劫持网络。

思路:使用 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;
    }
}
0

评论

博主关闭了所有页面的评论