gpt4 book ai didi

apache - Apache 反向代理中的 Google OAuth 重定向 Uri

转载 作者:行者123 更新时间:2023-12-04 15:15:28 25 4
gpt4 key购买 nike

我正在尝试使用 Apache 作为反向代理设置 Web 服务器,该服务器连接到由 kestrel 托管的 ASP.NET CORE Web 应用程序。我已经按照这里的教程进行操作:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-3.1
该网站使用 Google Calendar Api 来获取用户日历信息。当我通过 Visual Studio 用 Kestrel 托管它时,这很好用。但是,当我尝试通过网络服务器进行身份验证并选择 Google 帐户时,我被重定向到
127.0.0.1:5000/signin-oidc
这不是想要的结果。 (127.0.0.1:5000 被配置为 Apache 的 ProxyPass 和 ProxyReverse)。
由于 Web 应用程序在没有 Apache 反向代理的情况下运行时可以工作,因此我怀疑 apache 配置存在一些问题。但是,这也可能是 Google.Apis.Auth.AspNetCore3 的问题。我正在使用的图书馆。我用过 the integrationtests作为有关如何设置 startup.cs 以及如何发出 Api 请求的指南。
编辑:
所以我询问了我正在使用的库的开发人员。重定向 uri 绑定(bind)到我正在监听的 kestrel 端点。问题在这里:https://github.com/googleapis/google-api-dotnet-client/issues/1680
因此,只有当我能以某种方式让 kestrel 知道我服务器的“实际”域名或公共(public) IP 时,它才能工作......从我的研究来看,这似乎几乎不可能。我将研究授权和身份验证的其他实现选项。

最佳答案

找到了解决办法!
在我无休止的搜索和 noobiness 中,我发现我已经删除了我的 VirtualHost for apache 的转发 header 。我还添加了 ProxyPreserveHost 选项。
我将虚拟主机更改为包括

RequestHeader set X-Forwarded-Proto https
ProxyPreserveHost On
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
ServerName www.example.com
ServerAlias *.example.com

关于apache - Apache 反向代理中的 Google OAuth 重定向 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64395528/

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