Php 反向代理背后的Oauth提供程序
我尝试在apache反向代理后面使用PHP中的OAuth提供程序(PECL包) 客户端使用Php 反向代理背后的Oauth提供程序,php,oauth,oauth-provider,Php,Oauth,Oauth Provider,我尝试在apache反向代理后面使用PHP中的OAuth提供程序(PECL包) 客户端使用 POST https://api.com/resource/oauth/request-token 但是我的oauth提供者收到 POST http://api.com/mywebservice/resource/oauth/request-token 无法验证签名,因此请求失败 你知道如何解决这个问题吗?我不得不这样做一次。最后,我修改了OAuth代码,以传递提供者将收到的实际URL以及我需要从我的
POST https://api.com/resource/oauth/request-token
但是我的oauth提供者收到
POST http://api.com/mywebservice/resource/oauth/request-token
无法验证签名,因此请求失败
你知道如何解决这个问题吗?我不得不这样做一次。最后,我修改了OAuth代码,以传递提供者将收到的实际URL以及我需要从我的代理后面发送到的URL。前者用于签名,后者用于HTTP请求。这是一个痛苦且不可移植的问题(如果代理中发生任何更改,代码将停止工作)我们也遇到了同样的问题(如果反向代理在网络中将HTTPS更改为HTTP,则不那么复杂) 您可以启用负载平衡器(无论您使用什么作为反向代理)来转发正确的头方案(以及更多) 例如,在Nginx中,您可以同时利用以下两种功能:
proxy_set_header X-Forwarded-Proto https;
及
这可能不是这个老问题的直接上下文解决方案,但我花了7个小时试图调试我们的问题,所以我相信这对某些人来说会很有用
proxy_redirect .... ;