私は現在、グラフAPIを使用してFacebookを統合するデスクトップアプリケーションを作成しています。リアルタイムの更新(http://developers.facebook.com/docs/api/realtime/)を実装したいのですが、ドキュメントには、Facebookが送信するためにアドレス指定するhttpサーバーを確立する必要があると書かれています。に更新します。私の問題は、私のボックスがIPアドレスが1つしかないルーターの後ろにあることです(ルーターはNATを使用します)。Facebookが更新を送信するためにWebサーバーに連絡することは引き続き可能ですか?
4 に答える
@kohlehydrat:すべてのWebサーバーには、インターネット上の「どこからでも」アクセスできるIPアドレスが必要です。あなたのウェブサーバーはIPが1つしかないNATの背後にあるので、Facebookがあなたのウェブサーバーに到達できるかどうかは真剣に疑っています。
ただし、アプリケーション専用のポートを予約するような方法でNATを構成できるかどうかを確認してください。
例えば:
10.122.48.222:4231
traffic to port 4231 is directed towards your application.
10.122.48.222 is outward facing NAT IP address.
これができるかどうかはわかりませんが、それはアイデアです。
ルーターは、ポート80の要求(またはWebサーバーがリッスンすることになっているポート)をキャッチし、それを内部コンピューターのポート80に、できれば一貫したNATスタイルで転送する必要があります。
基本的に、適切なルーティングを使用したIPベースの通信は、両方の当事者がお互いを見つけることができれば問題にはなりません。
「ポートフォワーディング」と呼ばれることを行う必要があります。最初は同様の問題がありましたが、その後、IPが公開されているポートを会社のみのローカルから転送しました。そして今、私の問題は解決されました。お役に立てれば。
この質問はすでに閉じられていますが、この特定の回答(ほとんどのFacebook開発者がファイアウォールの背後で開発するために行っていると私は信じています)を受け取っていないので、ここに投稿します:
公開されているIPを使用して、マシンを任意のマシンにリバーストンネリングできます。このトピックに関するブログ投稿を参照してください
多くのFacebookSDKには、この機能も含まれています(たとえば、facebooker、ruby gemは、適切な設定をセットアップした後、facebooker:tunnel:startをレーキする機能を提供します)