浏览 1.3k
nginx 反向代理 plex , 使用 “location /” 可以正常反向代理 plex, 使用 “location /plex/” 反向代理失败 , 请大家帮忙看看应该如何修改才能解决问题. 谢谢
“location /”正常
server {
listen 7002;
server_name 10.0.0.250;
location / {
proxy_pass http://10.0.0.2:32400/;
}
}
“location /plex/” 反向代理失败
server {
listen 7002;
server_name 10.0.0.250;
location /plex/ {
proxy_pass http://10.0.0.2:32400/;
}
}
Nginx 返回 下面报错信息
2021/09/05 07:13:40 [error] 9#9: *19 open() "/etc/nginx/html/web/js/main-179-1dae58ee552261595ebe-plex-4.57.4-320801d.js" failed (2: No such file or directory), client: 10.0.0.2, server: 10.0.0.250, request: "GET /web/js/main-179-1dae58ee552261595ebe-plex-4.57.4-320801d.js HTTP/1.1", host: "10.0.0.250:7002", referrer: "http://10.0.0.250:7002/plex/web/index.html"
10.0.0.2 - - [05/Sep/2021:07:13:40 +0000] "GET /web/js/main-179-1dae58ee552261595ebe-plex-4.57.4-320801d.js HTTP/1.1" 404 169 "http://10.0.0.250:7002/plex/web/index.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15" "-"
你好环山绕水,抱歉昨天直播时没看清你的问题,现在明白了,你可以对子目录做精确匹配后,用403拒绝:
比如下面这样就可以:
server{
server_name www.xxx.com;
root /home/data;
location /news {
return 403;
}
}
这样,所有news子目录下的文件都会拒绝。当location比较复杂的时候,你必须考虑匹配的优先级,因为url前缀匹配优先级较低,如果有正则表达式能够命中2.html的话,你还要调整相应的正则location,如果有这种情况,你可以参考下这篇文章:https://www.nginx-cn.net/article/69
error.log日志里有ERROR级别的日志吗?如果是Nginx生成的413,会有一行“client intended to send too large chunked”这样的错误。如果没有,就是上游发的413,你要看看上游的配置是不是限制了900MB