使用 nextcloud 的 Nginx 反向代理子文件夹

使用 nextcloud 的 Nginx 反向代理子文件夹

我在地址 192.168.6.20 部署了一个 Nextcloud 服务器(使用 ubuntu 20.04 LTS 进行 snap 安装)。这是一个普通的 http,所以没有 https。如果我将浏览器指向http://192.168.6.20它,它就可以工作。

现在我想让另一台服务器作为它的 nginx 反向代理,通过指向来https://frontend.mydomain.com/cloud访问 nextcloud 安装。

我对使用前端子目录进行访问感到困扰/cloud。在 Nginx 配置中,我写了类似以下内容:

upstream nextcloud {
server 192.168.6.20:80;
keepalive 32;
}
location ~ ^/cloud/(.*) {
rewrite  ^/cloud/(.*) /$1 break;
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_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-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_pass http://nextcloud;
proxy_redirect off;
}

但我得到的只是一个未格式化的白色页面,其中有一些文本抱怨我没有从受信任的 IP 连接。除了抱怨之外,页面还是白色的,带有未格式化的文本,因此有些地方不起作用。例如,如果我创建另一个配置文件让 URL 为http://frontend.mydomain.com 没有路径/cloud,我将其创建为:

upstream nextcloud {
server 192.168.6.20:80;
keepalive 32;
}
location / {
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_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-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_pass http://nextcloud;
proxy_redirect off;
}

它起作用了:我的意思是,它仍然抱怨不受信任的来源,但页面格式良好,有表单文本、蓝色背景等等。

我怎样才能实现我的需求?我遗漏了什么或做错了什么?

答案1

您是否在 config.php 中设置了受信任的代理?它在手册中:https://docs.nextcloud.com/server/23/admin_manual/configuration_server/reverse_proxy_configuration.html

相关内容