Nginx 为 OMV6 webui 和其他应用配置 sub-path 反向代理的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
idealhs
V2EX    NGINX

Nginx 为 OMV6 webui 和其他应用配置 sub-path 反向代理的问题

  •  
  •   idealhs 2022-06-08 18:01:18 +08:00 2257 次点击
    这是一个创建于 1221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为对 Nginx 知识不多,所以在为 OMV webui 配置反向代理的时候遇到了一些问题,来问问熟悉的老哥们

    我的需求是将所有 http://server:port 的 web 服务形式通过反代,以 http://server/subpath 的形式来访问。

    比如 OMV webui 是 http://server:81 ,那么可以访问 http://server/omv,jellyfin 是http://server:8096 ,那么可以访问 http://server/jellyfin

    为此我将 OMV webui 的端口从 80 改成了 81 ,并且有了以下 nginx config

     server { listen 80; server_name server server.local; set $localhost 127.0.0.1; location /omv { return 302 $scheme://$host/omv/; } location /omv/ { proxy_pass http://$localhost:81; } } 

    这段 config 并没有工作,而我记得在之前的 omv5 中我成功地如此反代了 OMV webui 。

    并且令我疑惑的是,proxy_pass 对不同的应用配置表现不一样,我难以学习并为不同的应用自己编写 proxy_pass config (location 块)。例如 jellyfin 官方网站给出的 nginx config 是这样的 Jellyfin Doc

    PS: 以下代码均包含在上述代码的 server 块中,与其他 location 同级

     # Jellyfin location /jellyfin { return 302 $scheme://$host/jellyfin/; } location /jellyfin/ { proxy_pass http://$jellyfin:8096/jellyfin/; proxy_pass_request_headers on; 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 X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_buffering off; } 

    对于这种可以在应用中设置 sub-path 的应用,我使用上述官方 config 反而会失败,如果我其中的
    proxy_pass http://$jellyfin:8096/jellyfin/;
    改为
    proxy_pass http://$jellyfin:8096;
    则可成功将 jellyfin 代理。

    PS : 我使用过另一个需要配置 sub-path 的应用是 NextCloud , 在 config.php 中配置 'overwritewebroot' => 'sub-path' NextCloud Doc

    对于 qBittorrent,同样也有官方给出的 nginx config : NGINX Reverse Proxy for Web UI , 而这个 config 则不需要我任何改动,就可成功代理。

    希望 V2 的 Nginx 大佬不吝赐教,帮助我解开这个疑惑。

    2 条回复    2022-06-09 01:45:08 +08:00
    dcsite
        1
    dcsite  
       2022-06-08 23:39:55 +08:00
    先确认一下

    omv
    http://127.0.0.1:81

    jellyfin
    http://127.0.0.1:8096/jellyfin/

    这两个应用是不是可以正常访问?
    idealhs
        2
    idealhs  
    OP
       2022-06-09 01:45:08 +08:00
    @dcsite 没问题的,带端口号直接访问是正常的。今天重新装回了 OMV5, 可以用 proxy_pass http://127.0.0.1:81/ 的方式去反代成功了。 明天还是在虚拟机上继续尝试 OMV6 Webui 的反代吧。
    关于     帮助文档     自助推广系统 nbsp;   博客     API     FAQ     Solana     843 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 20:36 PVG 04:36 LAX 13:36 JFK 16:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86