gpt4 book ai didi

nginx - 配置 NextCloud 和 Nginx 反向端口转发 - 登录验证错误

转载 作者:行者123 更新时间:2023-12-01 03:19:30 24 4
gpt4 key购买 nike

我在我的网络服务器上设置了一个 nginx 反向代理服务器,它正在接收 SSL 流量,并将它反向代理到我的网络服务器上的端口 8080,这是一个运行 nextcloud docker 镜像的暴露端口。我可以从桌面 Web 浏览器登录,但无法从我的 iPhone 登录。当我从应用程序登录时,收到错误消息“访问被禁止,请求无效”。 This Github 问题将该问题标识为从请求中删除了 auth header ,尽管它提供的解决方案是针对 Apache 而不是 Nginx。我真的不熟悉授权 header 。我将如何修改我的 Nginx 服务器指令来解决这个问题?

当前设置

server {
listen 443 ssl;
listen [::]:443 ssl;

server_name cloud.foo.com;

ssl_certificate /etc/letsencrypt/live/cloud.foo.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/cloud.foo.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

location / {
proxy_pass http://127.0.0.1:8080/;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}

最佳答案

您可能需要添加一个设置以在来自代理服务器的响应中显式传递 Authorization header 。

例如:

location / {
proxy_pass http://127.0.0.1:8080/;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass_header Authorization;
}

根据我在另一个经过身份验证的服务中看到的反向代理设置,默认情况下,Nginx 可能不会将代理服务器的响应中的 Authorization header 传递给客户端。虽然这没有列在 the documentation 中, 可能有必要避免干扰 authentication modules .

关于nginx - 配置 NextCloud 和 Nginx 反向端口转发 - 登录验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com