Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 反向代理背后的Oauth提供程序_Php_Oauth_Oauth Provider - Fatal编程技术网

Php 反向代理背后的Oauth提供程序

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以及我需要从我的

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

客户端使用

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 .... ;