首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Passport-google代理后

使用Passport-google代理后
EN

Stack Overflow用户
提问于 2013-03-26 18:24:48
回答 1查看 908关注 0票数 0

我正在使用谷歌通行证在example.com:3000中登录用户。它工作得很好。但是如果我把Node.js服务器放在一个代理服务器后面(IIS7;别问为什么,我不得不这么做),并且用example.com (而不是example.com:3000)访问我的站点,我就不能用Passport-google登录。我在IIS中的RewriteRule:

代码语言:javascript
复制
Pattern (.*) 
{HTTP_HOST} Matches myserver.com
{SERVER_PORT} Does not match 3000
Rewrite URL: http://127.0.0.1:3000/{R:1}

我得到的错误是:

代码语言:javascript
复制
Cannot GET /accounts/o8/ud?

我在Passport-twitter和Passport-facebook上也有同样的问题。

我想我应该在IIS中设置一些其他的规则,或者在Passport.js或OpenID中设置一些代理设置,但还没有想好。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 17:07:30

IIS代理的配置不正确。在应用程序请求路由(ARR) /服务器代理设置下,Reverse rewrite host in response headers已打开,因此当passport发送报头中的location设置为https://www.google.com/accounts/o8/...的302时,IIS代理将其替换为http://myserver.com/accounts/o8/...。这当然是一个无效的链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15634660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档