6

Apache リバース プロキシの背後で PHP (PECL パッケージ) の OAuth プロバイダーを使用しようとしています。

クライアントが使用する

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

しかし、私のoauthプロバイダーは受け取ります

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

署名を検証できないため、リクエストは失敗します

この問題を解決する方法について何か考えはありますか?

4

2 に答える 2

4

私はこれを一度しなければなりませんでした。結局、プロバイダーが受信する実際のURLと、プロキシの背後から送信する必要のあるURLを渡すように、OAuthコードを変更しました。前者は署名で使用され、後者はHTTPリクエストで使用されました。それは苦痛であり、移植性がありませんでした(プロキシで何かが変更された場合、コードは機能しなくなります)

于 2013-01-03T20:08:42.717 に答える
0

同じ問題がありました (リバース プロキシがネットワーク内で HTTPS を HTTP に変更していた場合はそれほど複雑ではありません)。

ロード バランサー (リバース プロキシとして使用しているもの) を有効にして、適切なヘッダー スキーム (およびその他) を転送できます。

たとえば、Nginx では、次の両方を活用できます。

proxy_set_header X-Forwarded-Proto https;

proxy_redirect .... ;

これは、この古い問題に対する直接的な文脈上の解決策ではないかもしれませんが、問題のデバッグに 7 時間費やしたので、これが誰かにとって役立つと確信しています。

于 2016-08-25T01:25:33.517 に答える