Plex通过Nginx Proxy Manager进行反向代理加速
前提工作
1.一个性能强劲的vps装plex作为后端,可以进行解码等。(我们叫它vps-1)
2.一个线路比较好的vps作为前端,用来作为二次反代。(我们叫它vps-2)
3.一个域名,把vps-2的ip解析到域名上面待用。
4.安装docker和docker-compose(不懂的看这文章)
5.docker-compose安装Nginx Proxy Manager(不懂的看这文章)
正式开始安装
在vps-1上面操作
1.在Nginx Proxy Manager创建一个反向代理(这个域名是上面步骤3的域名,假设前提工作解析的域名是 plex.domain.com)
反代ip指向本机ip端口填写32400(注意:不要填写127.0.0.1,有可能指向docker内部,我没有测试过)
注意:申请证书,开启https(两台vps使用的证书要一模一样,我使用的是泛域名证书,不是泛证书的自行解决)
2.SSH连接本机(默认Nginx Proxy Manager是安装上面5的步骤安装的,有安装不一样的,按自己的实际情况更改)
cd /root/docker_data/docker-compose/NginxProxyManager/data/nginx/proxy_host
查看目录下的配置文件,每一个反向代理都会对应一个x.conf(x代表数字,下方自行更换成你的数字)
ls
nano x.conf
添加文本内要添加的代码,ip替换成自己的。
# ------------------------------------------------------------
# plex.domain.com
# ------------------------------------------------------------
server {
set $forward_scheme http;
set $server "127.0.0.1"; #此处是你反代执行的IP,即本机的IP,请勿用127.0.0.1
set $port 32400;
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name plex.domain.com;
# Custom SSL
ssl_certificate /data/custom_ssl/npm-2/fullchain.pem;
ssl_certificate_key /data/custom_ssl/npm-2/privkey.pem;
# Force SSL
include conf.d/include/force-ssl.conf;
access_log /data/logs/proxy-host-1_access.log proxy;
error_log /data/logs/proxy-host-1_error.log warn;
location / {
#以下是要添加的内容,ip自行更换
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://127.0.0.1:32400/; #127.0.0.1改成你本机的IP
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;
}
#以上是添加的内容,ip自行更换
# Proxy!
include conf.d/include/proxy.conf;
}
# Custom
include /data/nginx/custom/server_proxy[.]conf;
}
更改完毕保存退出。
注意:保存完后,请勿在到Nginx Proxy Manager反代进行保存操作,不然配置文件会被重置到未改前的状态,又的重新按照上述进行重新配置。
在vps-2上面操作
连接上SSH,打开/etc/hosts,在文件下方添加下面内容(自行替换成你的)
vps-1的ip plex.domain.com
1.Nginx Proxy Manager 创建一个反向代理,还是和vps-1同一个域名(plex.domain.com),ip指向vps-1,端口:32400,使用vps-1的证书,并开启https。
2.切换到Nginx Proxy Manager的配置文件
cd /root/docker_data/docker-compose/NginxProxyManager/data/nginx/proxy_host
查看目录下的配置文件,每一个反向代理都会对应一个x.conf(x代表数字,下方自行更换成你的数字)
ls
nano x.conf
添加文本内要添加的代码,域名替换成自己的。
# ------------------------------------------------------------
# plex.domain.com
# ------------------------------------------------------------
server {
set $forward_scheme http;
set $server "此处显示的是你反代指向的ip";
set $port 32400;
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name plex.domain.com;
# Custom SSL
ssl_certificate /data/custom_ssl/npm-1/fullchain.pem;
ssl_certificate_key /data/custom_ssl/npm-1/privkey.pem;
# Force SSL
include conf.d/include/force-ssl.conf;
access_log /data/logs/proxy-host-4_access.log proxy;
error_log /data/logs/proxy-host-4_error.log warn;
location / {
#以下是要添加的内容,域名自行更换
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 https://plex.domain.com/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host plex.hfdem.net;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
#以上是要添加的内容,域名自行更换
# Proxy!
include conf.d/include/proxy.conf;
}
# Custom
include /data/nginx/custom/server_proxy[.]conf;
}
更改完ctrl+x保存退出
Plex的后台操作
注意:反代完成,使用域名看能否正常访问plex面板,如果一切正常下面开始Plex面板后台的设置
后台取消网络中转
1.设置-网络
2.取消勾选“启用中转”
3.在自定义服务器访问URL添加 https://plex.domain.com:443 (替换成你的域名)
禁用远程
1.远程访问-禁用远程访问
至此反代加速就结束了,如果不知道是否反代成功,可以播放一个影片,通过后台面板看正在播放的影片ip是否为vps-2的IP,如果是的话,就说明成功了,如果是你本地IP,那自己在找找看是哪里有出现问题。