我的服务器上的 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;
}