2012-01-10 3 views
4

Google App Engineでurlfetchを使用するときにプロキシサーバーを指定する方法はありますか?App EngineプロダクションでプロキシサーバーのURLを取得する

特に、私がurlfetchを使用して呼び出しを行うたびに、GAEはプロキシサーバーを経由するようにします。私は生産だけでなく、devでこれをやりたい

Googleの送信IPアドレス(レート制限、静的送信IP、ブラックリストに登録されていることなどあります)を使用する際に問題があるため、プロキシを使用したいと考えています。 httpメッセージ自体を編集できるのであれば、通常はプロキシを設定するのは簡単ですが、GAEのAPIはこれを行えるようには表示されません。

+0

プロキシの設定はレート制限などにどのように役立つと思いますか? –

+0

@DanielRoseman - サードパーティがIP単位でリクエストを制限している場合、プロキシを使用すると役立ちます。例えば、Twitterは150 /時間/ IPアドレスに制限する。 –

+0

@DanielRoseman BenPが正しいです。各GAE IPアドレスには数千のアプリケーションがあり、その制限はすぐに使い果たされます(downvote btwのおかげで)。 – speedplane

答えて

2

あなたは常に自分自身をロールバックすることができます:固定先の場合

  1. :ちょうどセットアッププロキシサーバー上の固定ポート転送。その後、GAEからプロキシに要求を送信します。複数の宛先がある場合は、宛先ごとに1つの別々のポートで転送を設定します。

  2. ダイナミック宛先の場合(固定ポート転送で処理するには多すぎます)、GAEアプリは最終宛先を含むカスタムhttpヘッダー(X-Something)を追加し、カスタムプロキシに接続します。カスタムプロキシはこのフィールドを検査し、要求を宛先に転送します。

+0

私は@speedplaneと同じ状況にありますが、これはかなり役に立ちました。前にこれをしたことがないのですが、このようなことをするために推奨している既存のプロキシサーバーがありますか(Squidなど)? –

+1

こんにちはPeter、あなたはGAEとしてうまく拡張できるプロキシサーバーシステムを知っていますか? – speedplane

0

この問題が発生し、Google Cloudサポートに連絡しました。彼らは、Google App Engineの柔軟性を、app.yaml設定、カスタムネットワーク、およびIP転送NATゲートウェイインスタンスと共に使用することを提案しました。

App Engine Standardの多くのコア機能がApp Engine Flexに実装されていないため、これはうまくいきませんでした。本質的には、私たちの製品を書き直す必要があります。該当するURLがフェッチ要求を作成するので、

は、我々は独自のプロキシ作られた静的IP持っているように見えます:冗長性の理由からhttps://github.com/csgactuarial/app-engine-proxy

を、私はバランスの取れたシステムをロードし、マルチリージョン、マルチゾーンとしてこれを実装するお勧めします。

関連する問題