我有一台运行Ubuntu 14.04的服务器,其中安装有一个在该服务器上的localhost:3000
运行的Meteor应用程序。 我的服务器的公共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配置文件中的标题,但没有成功。显然我缺少某些步骤。