如何重写nginx反向代理中的位置完美加载owncloud页面



我使用反向代理非常没有经验,所以我的问题真的很la脚,对此很抱歉。

我正在尝试通过Nginx倒向Proxy到达我的Cloud服务器,但不能完美地加载。

我使用多个位置具有NGINX反向Proxy服务器。我想对位于带有Apache的另一台计算机中的OllCloud服务器进行新的公共访问权限。我想使用_https://my_public_url/owncloud_到达我的cloud服务器,所以我制作了这样的位置块:

惠姆我正在使用

location / {
    proxy_pass http://my_owncloudserver_url/;

一切都很好。

但在这种情况下:

location /owncloud/ {
    proxy_pass http://my_owncloudserver_url/;

i获得 index.php/login 页面而无需任何格式,AS/apps,/core等。请求仍然从" https://my_public_url/apps/..."请求请求。," https://my_public_url/core/..."等。>/owncloud/位置,而不是代理。

我想我应该使用重写更改这些请求的URL,将"/ownCloud/"部分放入URL中。

如果我使用的是单独的位置与"/core/..."请求匹配,例如:

location /core/ {
     rewrite  ^/core/(.*)$ /owncloud/core/$1 permanent;
}

那似乎还可以,但是我不会做很多不同的位置与所有各种请求匹配。

我该如何解决?如果想法很容易,我跑了出来。

谢谢Sanglee

我不确定owncloud。但是在NextCloud中,您必须在config.php https://docs.nextcloud.com/server/16/admin_manual/configuration_server/config_sample_sample_sample_php_parp_parameters.html#proxy-configurations.html#proxy-configurations.html#proxy-configurations.html#proxy-configurations.html#proxy-configurations.html#proxy-configurations.html#proxy-configurations.请考虑使用NextCloud,因为它比OwnCloud(如果完全开源(更快,可以通过社区积极维护。

在运行容器时将" owncloud_sub_url"更新为"/owncloud",或在不使用容器

和nginx config

location /owncloud {
    proxy_pass http://my_owncloudserver_url/owncloud;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect off;
    proxy_buffering off;
}

最新更新