因为近期一些特殊的需求,研究了下Emby服的反代,记录如下:

Cloudflare的Tunnel就可以直接完成反代,唯一需要注意的是在HTTP主机头这里要填写Emby服的域名

如果你要隐藏IP,使用Tunnel就不大行了,因为Tunnel不能设置X-Forwarded-For,因此需要加个Nginx中间件,关键配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
location ^~ / {
proxy_pass EMBY站网址;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP 伪装IP;
proxy_set_header X-Forwarded-For 伪装IP;
proxy_set_header REMOTE-HOST 伪装IP;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
add_header Cache-Control no-cache;
proxy_ssl_server_name on;
proxy_ssl_name $proxy_host;
}

这样,就能建立完整的CF Tunnel <--> Nginx <--> Emby服的流量通路,实现反代的同时伪装IP

PS:可能有些人觉得既然用了Nginx了,那Tunnel就是多余的,确实是,使用Tunnel纯粹是为了方便,不用考虑证书、防火墙设置等问题了