【发布时间】:2017-11-11 01:16:36
【问题描述】:
我在 nginx 代理下遇到 oAuth 重定向问题。我的网站上有谷歌社交登录按钮,并且在本地运行良好。当我在线上传我的项目并将其放在 nginx 代理下时,它不再工作了。当我单击登录时,浏览器将我重定向到 localhost:3000/auth/google/callback 而不是 mywebpage.com/auth/google/callback 告诉我该页面不存在。
我知道这个问题:Nginx proxy with Google OAuth 2.0 并且我尝试使用他们建议的修复程序,但它们没有工作,因为我没有运行 Meteor,而是使用 Nginx 代理在 Express 上运行 NodeJS。
他们建议的第二个解决方案是使用 proxy_redirect 但它似乎不起作用。我有一个 oAuth 与谷歌但每次我点击它(它是一个浏览器重定向,而不是一个弹出窗口)它会将我重定向到 localhost:3000,这是代理后面的 url。
我尝试了所有可能的 proxy_redirect 配置,但它总是将我重定向到那里。这是我在 nginx 中的代理部分:
location / {
proxy_pass http://127.0.0.1:3000;
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;
proxy_redirect http://localhost:3000 https://mywebsite.com;
}
有什么建议吗?
【问题讨论】:
标签: node.js nginx oauth proxy reverse-proxy