github oauth和nginx代理
我觉得我已经搜索了整个互联网,并尝试了几乎所有的方法来解决我的问题。现在我决定问你,希望有人能帮助我 我有一个节点应用程序在sub2.domain.tld:3000上运行。现在我想用nginx将这个应用程序代理到端口80,这样我就可以通过sub.domain.tld访问这个应用程序。但这不是问题所在。我能够到达第一个站点 问题之后是一个身份验证例程,用于验证应用程序的用户 当浏览sub2.domain.tld:3000时,该过程工作正常。但是,当我在配置中更改url并尝试浏览sub.domain.tld时,身份验证过程会遇到错误(错误=重定向\u uri\u不匹配&错误\u描述=+重定向\u uri+必须+匹配+注册+回调+url…) 因此,我想我在使用nginx重定向url时犯了一个错误 我正在使用nginx1.4.7和node 0.10.26 我的nginx配置文件如下所示:github oauth和nginx代理,nginx,oauth,proxy,Nginx,Oauth,Proxy,我觉得我已经搜索了整个互联网,并尝试了几乎所有的方法来解决我的问题。现在我决定问你,希望有人能帮助我 我有一个节点应用程序在sub2.domain.tld:3000上运行。现在我想用nginx将这个应用程序代理到端口80,这样我就可以通过sub.domain.tld访问这个应用程序。但这不是问题所在。我能够到达第一个站点 问题之后是一个身份验证例程,用于验证应用程序的用户 当浏览sub2.domain.tld:3000时,该过程工作正常。但是,当我在配置中更改url并尝试浏览sub.domain
server {
listen 80;
access_log /var/log/nginx/access_log_sub;
server_name sub.domain.tld;
location / {
include proxy_params;
proxy_pass http://IP:3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
}
}
但是我相信OAuth正在验证sub2.domain.tld:3000,并且它与sub.domain.tld冲突
我希望你能帮助我解决这个问题。这是一个老问题,但是 尝试将主机头更改为
proxy_set_header Host $host:$server_port
这可能有效,也可能无效,具体取决于您的应用程序
另一方面,应该包括一个以逗号分隔的原始客户端及其通过的所有代理的列表。错误不是来自nginx,而是来自OAuth提供商: 重定向uri参数是可选的。如果忽略此选项,GitHub会将用户重定向到OAuth应用程序设置中配置的回调URL。如果提供,重定向URL的主机和端口必须与回调URL完全匹配。重定向URL的路径必须引用回调URL的子目录
--太棒了,从配置更改重定向URL,一切正常,谢谢你