【发布时间】:2019-12-22 07:00:07
【问题描述】:
我正在从 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 时,不会加载任何静态资源。
我尝试了各种位置匹配组合,例如 /kb/ url 重写等,在位置 url 和 proxy_pass url 中添加/删除尾部斜杠的组合,但无济于事。
直接从 Windows 主机提供静态资产不是一种选择,因为我的计划是在不同的目录中提供多个 docker 应用程序,所以我正在寻找一种解决方案,我能够简单地指导从不同容器提供的子目录.
我错过了什么?
【问题讨论】:
标签: docker nginx nginx-reverse-proxy nginx-config