我正在尝试将网络上的所有服务与nginx链接在一起。Plex就是其中之一。nginx服务器运行在docker内部192.168.1.150:80上。丛服务器运行在192.168.1.149:32400上。我还有一个在192.168.1.148:80上运行的homer实例。我有一个工作配置(见下文(,但我想更改一些我不知道如何更改的东西。
Nginx.conf:
user nginx;
worker_processes 5;
events {
worker_connections 2048;
}
http {
server {
location / {
proxy_pass http://192.168.1.148:80;
}
location /plex {
proxy_pass http://192.168.1.149:32400/web;
}
location /web {
proxy_pass http://192.168.1.149:32400/web;
}
}
}
正如你所看到的,因为丛从子域"/web"请求资源,我必须添加/web的proxy_pass才能转到丛。当我想使用子域/web做其他事情时,这远不是理想的。丛的index.html从/web/…请求一些脚本。。。。有没有办法让这个请求转到/plex/web,这样我就可以在那个子域而不是全局子域中捕获它。通过这种方式,我可以将/web用于其他用途。
提前感谢ExellentCon
不确定您是否找到了解决方案,但在研究Plex配置的帖子中遇到了同样的问题。这就是我想到并工作的:
location /plex/ {
proxy_pass http://192.168.68.102:32400/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
if ($http_referer ~ /plex/) {
rewrite ^/web/(.*) /plex/web/$1? redirect;
}