使用 URL 前缀代理 Web 应用程序

使用 URL 前缀代理 Web 应用程序

如何在我的服务器中使用 Nginx 或 Apache2 代理带有 url 前缀的 Web 应用程序?

例如,我在 Docker 中运行 NextCloud 并且想要通过 访问它https://my-domain.example/nextcloud/,因此我使用具有以下配置的 nginx。

 location /nextcloud {
            proxy_pass         http://docker_ip;
            proxy_redirect     off;
            proxy_set_header   Host $host;
        }

不幸的是,它只能代理索引,其他资源如 js 文件或 css 文件都是 404 未找到,因为它们的 URL才不是包含前缀/nextcloud

以前,我使用 apt 安装了可以与 Apache2 集成的 owncloud,并且我可以使用 访问它https://my-domain.example/owncloud/

我想知道当我使用docker运行web应用程序时如何实现这个结果?

更新

如果我使用子域名,如何将 https 代理为 http?当我访问时nextcloud.my-domain.example,它将返回 302 未找到 http 位置。我该如何使位置变为 https?

相关内容