【问题标题】:Oauth provider behind reverse proxy反向代理背后的 Oauth 提供者
【发布时间】:2012-12-18 00:20:26
【问题描述】:

我尝试在 apache 反向代理后面的 PHP(PECL 包)中使用 OAuth Provider

客户使用

POST https://api.com/resource/oauth/request-token

但我的 oauth 提供者收到了

POST http://api.com/mywebservice/resource/oauth/request-token

无法验证签名,因此请求失败

你对解决这个问题有什么想法吗?

【问题讨论】:

    标签: php oauth oauth-provider


    【解决方案1】:

    我们遇到了同样的问题(我们的反向代理在网络内将 HTTPS 更改为 HTTP 的情况不太复杂)。

    您可以启用负载均衡器(无论您使用什么作为反向代理)来转发正确的标头方案(以及更多)。

    例如在 Nginx 中,您可以同时利用两者:

    proxy_set_header X-Forwarded-Proto https;
    

    proxy_redirect .... ;
    

    这可能不是针对这个老问题的直接上下文解决方案,但我花了 7 个小时尝试调试我们的问题,所以我相信这对某人会派上用场。

    【讨论】:

      【解决方案2】:

      我必须这样做一次。我最终修改了 OAuth 代码以传递提供商将收到的实际 URL 以及我需要从代理后面发送到的 URL。前者用于签名,后者用于 HTTP 请求。这很痛苦且不可移植(如果代理中有任何更改,代码将停止工作)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-14
        • 2014-04-24
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-14
        相关资源
        最近更新 更多