OwnCloud 域名显示为 localhost

OwnCloud 域名显示为 localhost

我的服务器上的 OwnCloud 运行在 nginx 反向代理后面。我按照以下说明通过 docker-compose.yml 安装了它:https://doc.owncloud.com/server/next/admin_manual/installation/docker/

除了一件事之外,一切都按我预期的方式运行。左下角的 WebDav 链接显示为 http://localhost:9001/... 而不是实际域。此外,注销按钮重定向到 localhost。其他一切都正常。

这是我的问题的图片:

在此处输入图片描述

这是我的.env 配置文件:

OWNCLOUD_VERSION=10.12
OWNCLOUD_DOMAIN=cloud.EXAMPLE.org
OWNCLOUD_TRUSTED_DOMAINS=cloud.EXAMPLE.org
ADMIN_USERNAME=admin
ADMIN_PASSWORD=REDACTED
HTTP_PORT=8080

这是我的反向代理:

server {
        server_name cloud.EXAMPLE.org;
        listen 443 ssl;
        location / {
                proxy_pass http://localhost:9001/;
        }

        ssl_certificate /etc/letsencrypt/live/EXAMPLE.de/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/EXAMPLE.de/privkey.pem;
}

在此先感谢您的帮助!

答案1

我自己找到了答案。我必须向我的代理添加以下配置。我不知道 OwnCloud 通过查看 HTTP 响应中的主机来决定主机。因此必须在代理中更改主机,以及所用协议 (https) 的扩展:

server {
    server_name cloud.EXAMPLE.de;
    listen 443 ssl;
    location / {
        proxy_pass          http://localhost:9001/;
        proxy_set_header    Host cloud.EXAMPLE.de;
        proxy_set_header    X-Forwarded-Proto https;    
    }

    ssl_certificate /etc/letsencrypt/live/EXAMPLE.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/EXAMPLE.de/privkey.pem;
}

相关内容