gpt4 book ai didi

带有 Google OAuth 2.0 的 Nginx 代理

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

我有一个 Ubuntu 14.04 服务器和一个在 localhost:3000 上运行的 meteor 应用程序在这台服务器上。我的服务器的公共(public) FQDN 是 sub.example.com . meteor 应用程序使用 Google OAuth 2.0,我在 Google API 控制台中配置了以下内容:

URI REDIRECTION  
http://sub.example.com/_oauth/google
http://sub.example.com/_oauth/google?close
ORIGINES JAVASCRIPT
http://sub.example.com

我的 Nginx 配置文件如下所示:
server {
listen 80 default_server;
server_name sub.example.com www.sub.example.com;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://localhost:3000;
}
}

代理工作,当我转到 sub.example.com 时,我可以访问我的 meteor 应用程序.但是当我在这个应用程序中尝试使用 Google OAuth 2.0 时,会打开一个弹出窗口,我得到:
Error: redirect_uri_mismatch
The redirect URI in the request: http://localhost:3000/_oauth/google?close did not match a registered redirect URI.

我玩过 nginx 配置文件中的 header ,但没有运气。

我显然错过了一些东西。

最佳答案

你应该重写 Location http://wiki.nginx.org/HttpProxyModule#proxy_redirect 中描述的后端发送到 Nginx 的 header , 所以:

proxy_redirect http://localhost:3000/_oauth/google http://sub.example.com/_oauth/google;

另一个同样适用于弹出式登录的选项是设置 ROOT_URL Meteor 启动时的环境变量如下:
ROOT_URL="http://sub.example.com" PORT=3000 node main.js

关于带有 Google OAuth 2.0 的 Nginx 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674550/

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