Heroku サーバーの静的 IP アドレスを 1 つ取得する方法はありますか? IP アドレスを要求するさまざまな API を統合しようとしています。Heroku のサーバー設定により、静的 IP を持つサーバーは 1 つもありません。代わりに、IP は動的です。
Proximo などのアドオンを調べましたが、これは有料のソリューションのようです。支払う必要のない静的 IP があるソリューションはありますか?
Heroku サーバーの静的 IP アドレスを 1 つ取得する方法はありますか? IP アドレスを要求するさまざまな API を統合しようとしています。Heroku のサーバー設定により、静的 IP を持つサーバーは 1 つもありません。代わりに、IP は動的です。
Proximo などのアドオンを調べましたが、これは有料のソリューションのようです。支払う必要のない静的 IP があるソリューションはありますか?
フィクシーは別のオプションです。Fixie は、Heroku アプリケーションに送信リクエスト用の静的 IP アドレスの固定セットを提供するアドオンです。言語やフレームワークに依存しません。
Fixie はセットアップが簡単で、Ruby、Node、Java、Go hereの「開始」ドキュメント (以下の Python のドキュメントに似ています) があります。これはPython用のものです。
まず、無料プランにサインアップする必要があります。
$ heroku addons:open fixie
Opening fixie for sharp-mountain-4005…
次に、FIXIE_URL
を環境変数として設定します。を使用して Fixie 経由で特定のリクエストをルーティングするにはrequests
:
import os, requests
proxyDict = {
"http" : os.environ.get('FIXIE_URL', ''),
"https" : os.environ.get('FIXIE_URL', '')
}
r = requests.get('http://www.example.com', proxies=proxyDict)
同じ機能を使用urllib2
すると、次のようになります。
import os, urllib2
proxy = urllib2.ProxyHandler({'http': os.environ.get('FIXIE_URL', '')})
auth = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)
response = opener.open('http://www.example.com')
html = response.read()
どちらの場合も、これらのリクエストは、Fixie によって割り当てられた既知の IP アドレスを介して送信されます。