用于书库的Nginx反向代理子目录VAI proxy_pass

时间:2019-08-15 21:20:40

标签: docker nginx nginx-reverse-proxy nginx-config

我正在从https://github.com/linuxserver/docker-bookstack运行Bookstack Docker容器

该容器在Ubuntu主机上运行,​​当我直接通过其http://:

访问它时,我可以完美地使用它

我有一个要配置的Windows主机上运行的Nginx服务器,以便在我访问https://myhost.tld/kb时将其代理到Ubuntu主机。以下是为此的ngnix配置:

        location ~/kb(.*)$ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://<ubuntu-ip>:<port>$1;
        }

在Bookstack容器中,我将.env文件APP_URL设置为https://myhost.tld/kb

我访问https://myhost.tld/kb时,不会加载任何静态资产。

enter image description here

我尝试了各种位置匹配组合,例如/kb/ url重写等,以及在位置url和proxy_pass url中都添加/删除尾部斜杠的组合,但无济于事。

直接从Windows主机提供静态资产不是一种选择,因为我的计划是在不同目录中提供多个docker应用程序,因此我正在寻找一种解决方案,能够直接指示要从不同容器提供服务的子目录

我想念什么?

1 个答案:

答案 0 :(得分:0)

所以我结束了更多的实验,终于发现了可行的方法:

{0,24}

特别是,我不得不使用 location ~/kb(.*)$ { proxy_pass_header Authorization; proxy_pass http://<ip>:<port>$1$is_args$args; 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_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } 来转发查询词。

我不完全了解此配置与我在问题中发布的配置之间的区别。因此,如果有人可以解释说,这对其他人的概念理解将是有益的。

积分:https://www.techandme.se/set-up-nginx-reverse-proxy/