3

ご挨拶。

Firefox を介して実行すると、Flash Player に HTTP Cookie が含まれないという問題があります。これらは、Internet Explorer で実行すると含まれます。

フラッシュ サーバーと通信するときに強制的にフラッシュに Cookie を含める方法を誰かが知っているかどうか知りたいですか?

背景情報

red5 サーバーに接続するフラッシュ レコーダーがあります。これらの接続は、プール アドレスを提供するロード バランサーを通じて開かれます。プールには複数のサーバーがあります。

レコーダーは RTMPT プロトコルを使用してデータを送信します。これにより、HTTP 経由で RMTP が送信されます (これにより、ファイアウォール トラバーサルが可能になります)。データが正しいサーバーに確実に届くようにするために、Cookie ベースの負荷分散を使用しました。特定の Cookie が存在する場合、ロード バランサーは接続を正しいサーバーに転送します。

この Cookie は、ユーザーが Web ブラウザーからサイトにログインしたときに設定されます。その後、Flash Player は、サーバーとの通信時にこれらの Cookie を RTMTP HTTP リクエストに含めます。これにより、RMTPT 接続が正しいサーバーに対して開かれます。

フィドラーを使用して、(IE からの) トラフィックの一部を取得して、私が何を意味するかを示しました。
POST http://hostname/idle/31283773/0 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: host
Content-Length: 1
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=sessionid; target-server=target-server-value

残念ながら、Firefox を使用している場合、Cookie はサーバーへのトラフィックに含まれません。
POST http://hostname/idle/31283773/0 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: host
Content-Length: 2030
Connection: Keep-Alive
Pragma: no-cache

プレーヤーはアクション スクリプトで記述され、javascript/HTML によって初期化されます。NetConnection / NetStream を使用してサーバーと通信します。

フラッシュレコーダーをロードするHTML / JavaScriptでターゲットサーバーIDにアクセスできますが、私の人生では、RTMPTデータを送信するときにCookieを含める方法がわかりません。または、そのようなことさえ可能です。

知りたいこと

誰でも教えてもらえ
ますか? これらは、IE で実行するときに自動的に含まれます。
2 - もしそうなら、誰か教えてもらえますか?

これまでのところ、解決策を探して数時間グーグルで検索しましたが、ここにいる誰かがアイデアを持っていることを願っています :-)

お時間をいただきありがとうございます。

4

1 に答える 1

1

Cookie が送信されない理由を確認しましたか? これは、負荷分散を使用していて、ドメインが変更されているためではありませんか? Firefox は、同じドメインが同じ Cookie にアクセスすることのみを許可します。

単なるアイデアですが、お役に立てば幸いです。

ピート

于 2010-11-21T15:11:28.253 に答える