更改位于反向代理后面的应用程序的 OAuth URI
Change the OAuth URI of an app sitting behind a reverse proxy
我们发现 Oauth1.0 签名不匹配,这似乎是由于我们的生产箱位于反向代理后面。
我们的整个代码库在 (http://beta.mainwebsite.com), but fails at (https://www.mainwebsite.com) 的 Beta 盒上运行(签名匹配)。
原因似乎是我们的外部客户端使用我们的主机 URI 进行签名,这与我们的内部 URI 略有不同(我怀疑他们对外部 https 进行签名,而我们尝试使用内部 http 地址进行验证)。
关于如何解决这个问题有什么想法吗?我认为一种肮脏的方法是在 OAuth 中的某处更改请求 URI,但我真的试图避免这种不可移植的方法。
我们是 运行 ruby 的标准 OAuth gem。
我们最终更改了 nginx 代理级别的设置以正确转发请求协议。
有关详细信息,请参阅此答案:Oauth provider behind reverse proxy
我们发现 Oauth1.0 签名不匹配,这似乎是由于我们的生产箱位于反向代理后面。
我们的整个代码库在 (http://beta.mainwebsite.com), but fails at (https://www.mainwebsite.com) 的 Beta 盒上运行(签名匹配)。
原因似乎是我们的外部客户端使用我们的主机 URI 进行签名,这与我们的内部 URI 略有不同(我怀疑他们对外部 https 进行签名,而我们尝试使用内部 http 地址进行验证)。
关于如何解决这个问题有什么想法吗?我认为一种肮脏的方法是在 OAuth 中的某处更改请求 URI,但我真的试图避免这种不可移植的方法。
我们是 运行 ruby 的标准 OAuth gem。
我们最终更改了 nginx 代理级别的设置以正确转发请求协议。
有关详细信息,请参阅此答案:Oauth provider behind reverse proxy