2011-04-08 10 views
16

私は、サービスへのすべての呼び出しがホワイトリストに登録されたIPアドレスから行われることを要求する第三者のWebサービスと協力しています。つまり、私は彼らにサービスを呼び出すIPアドレスを与えなければなりません。AppengineサーバーのIPアドレスブロック?

問題私はGoogle Appengineを使用しています。 Appengineからの発信HTTPリクエストを作成するときに静的IPアドレスを取得する方法はありますか?それに失敗する - すべての要求が来るIPアドレスのブロックがありますか?私はブロック全体をホワイトリストに入れることができました。これが存在する場合、どのように変更する可能性がありますか?

私は単純なAmazon EC2インスタンスをプロキシとして使用するように設定できます(これを具体的に行う方法については別の質問があります)が、他の方法がないことを確認したかっただけです。

+0

誰でもhttps://code.google.com/p/googleappengine/issues/detail?id=6644 – speedplane

答えて

16

Google App EngineのUrlfetch経由でStack Exchange APIに接続するのと同じ問題が2週間前に発生しました(このチームはすべてのGAE IPをホワイトリストに登録する問題を速やかに修正しました)。

IPの範囲は、UrlFetchの接続から来るかもしれないことを対処し、次のDNSルックアップを実行することによって見つけることができます:

dig -t TXT _netblocks.google.com @ns1.google.com 
+0

IPアドレスのリストがどれくらい安定しているか知っていますか?私。どのくらいの頻度で変更されますか? – aloo

+1

@alooいいえ私はそうではありません。私はそれが予測できないと信じています。 – systempuntoout

+0

私はこのコマンドを実行し、IPアドレスのリストを得ました。しかし、ここには記載されていない他のIPアドレスからのAppEngine接続が表示されます。これが完了したと確信していますか?また、これは受信IPアドレスだけで、urlfetchから発信された発信IPアドレスではないようです。 – speedplane

1

最後に、これは可能ではないことを確認しました。現在のIPアドレスを動的に取得できますが、それは予測できません。

+1

:動的にこの問題を解決してください:どのように? – Eliot

+0

どのようにipsを動的に取得できますか? –

+0

申し訳ありません - 私はAppEngineを使用してから何年も経ちましたが、私はこれをどのように達成したか思い出しません。 –

0

ご注意:_netblocks.google.comは明らかに正確ではありません。現在私は、GAEがあなたが_netblocksを掘るときにリストされていないアドレスから接続していることにお気づきました。例えば、8.35.201.166。

この範囲は、_netblocks、_netblocks2または_netblocks3には含まれていません。

現在掘る出力: IP4:216.239.32.0/19 IP4:64.233.160.0/19 IP4:66.249.80.0/20 IP4:72.14.192.0/18 IP4:209.85.128.0/17 IP4 :66.102.0.0/20 IP4:74.125.0.0/16 IP4:64.18.0.0/20 IP4:207.126.144.0/20 IP4:この固定SHOULDを得ることに興味を持っている173.194.0.0/16

+0

これは時代遅れだと思います。 – speedplane

関連する問題