我正在使用nginx反向代理和ssl尝试新的服务器配置,但它似乎打破了我的Google OAuth2。我使用节点v6.2.2,pm2来管理nodejs,并使用nginx作为ssl和反向代理。
我的Nginx服务器块看起来像:
server {
listen 80;
server_name _;
return 301 https://$host$request_uri;
}
和
server {
listen 443;
ssl on;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
server_name example.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
在我的笔记本电脑上运行nodejs服务器时,我可以使用passportjs登录'没有问题的谷歌策略,但只要我在反向代理后面运行相同的代码,我就会得到 redirect_uri_mismatch 。我已尝试将 callbackURL 硬编码为http://example.com/auth/oauthCallback和https://example.com/auth/oauthCallback,并已将这些变体添加到OAuth客户端ID中。我尝试对我的服务器块进行小的更改,但无法取得很大进展,所以我在这里。
下一步的任何想法?
答案 0 :(得分:0)
原来Google的OAuth2似乎无法识别.xyz
个域名