2012-04-16 11 views
3

私は、インターネット/ネットワーキングの世界では初心者ですので、プログラミングしばらく私の頭の中で疑問のこれらの種類と私はいつも台無し;)...私の疑問があり、プロキシサーバーはtcp/http接続でどのように動作しますか?

  1. プロキシの背後の作業中 、私の要求と回答はどのように機能しますか? リクエストヘッダーとデータが最初にプロキシサーバーに到達し、プロキシサーバーが対応するサーバーに同じヘッダーとデータを送信することを意味しますか? そして、サーバーから応答ヘッダーと本文をプロキシサーバーに送信してから、プロキシサーバーがそれを自分のコンピューターに送信します。右?

  2. ウェブソケットを使用しているうちに、HTTP接続をTCPにアップグレードしています。現時点では、プロキシサーバーで何が起こっていますか? proxyserverもプレーンTCPへの接続をアップグレードしますか?

  3. このようなTCP接続を開いた後、プロキシサーバーはこれらのソケットメッセージを追跡/ログ記録できますか?

  4. さらに重要なのは、プロキシサーバーが透過的であるか、クライアントの元のサーバーのように機能しているかどうかです。

お返事ありがとうございました。

答えて

0
  1. そうです。

  2. あなたがhtml5ウェブソケットについて話しているのであれば、言及されていることのカップルが必要です。まず、WebSocketを使用するには、そのような接続を処理するサーバーが必要です。このサーバーをすぐにサポートするサーバーはわかりません。機能を実装するapacheモジュールがありますが、これを行うperlとpythonスタンドアロンのアプリケーションもあります。要するに、サーバーがWebソケットを処理できない限り、何も起こりません。 同じことがウェブソケットプロキシにも適用されますが、同様の原則で動作しますが、Webソケットプロトコル仕様を読んでいませんが、サーバはパケットの宛先アドレスを読み込み、サーバに中継してから、私は実際にWebsocketsプロキシサーバーについて聞いていないし、私はそれを書くためにどのように周りに行くだろうと思うし、私はまだそのようなことがあるとは思わない;プロトコルが完全に標準化されていないことを忘れないでください。

  3. SSLで暗号化しない限り、すべてのパケットがプロキシ経由で転送された後、私はそう思っていました。

謝罪私はあなたに詳しい情報を与えることはできませんでしたが、かなり最近になってウェブソケットを使いこなし始めましたが、まだそれほど広く普及していません。

http://www.infoq.com/articles/Web-Sockets-Proxy-Servers http://stackoverflow.com/questions/2201317/why-dont-current-websocket-client-implementations-support-proxies

http://en.wikipedia.org/wiki/WebSocket#Proxy_traversal

+0

お返事ありがとうございます。プロキシサーバーがクライアントの元のサーバーのように動作しているとしていますか?または、クライアントアプリケーションがプロキシ/実サーバと通信しているかどうかを検出する方法があるかどうかを確認します。 – Vivek

+0

通常のHTTPプロキシでは、プロキシサーバーのリクエスト( 'X-Forwarded-For')を示す追加のHTTPヘッダーを送信するものがあります。また、ユーザーがプロキシの背後にいるかどうか(フラッシュ、Ajax、2つの組み合わせ...)を見つけるための他のテクニックもありますが、プロキシサーバーが正しく設定されていれば、ない。ウェブソケットに関しては、私はそのような仕様があるとは思わないので、その周りには方法があるかもしれませんが、デフォルトでは、パケットがユーザから来たものかどうかを判断することはできません... –

+0

Kaazingのサイト[http ://websocket.org/aboutwebsocket.html、 私は、HTTPトンネリングを提供することによって、WebSocketが(一度実装されると)プロキシサーバーについて気にしないと思います。しかし、私はまだこれがwsまたはwss(セキュリティで保護された)のみに起こるのだろうかと疑問に思っています。 – Vivek

3
  1. 右:

    また、私はリソースを次のようにあなたを指すことになり、彼らはあなたの質問にいくつかの答えを提供するように見えます。

  2. 「HTTPからTCPへのアップグレード」というようなことはありません。 HTTP接続はすでにTCP接続です。したがって問題は無意味です。

  3. 接続をトレースすることができ、双方向で交換されているすべてのデータを見ることができます。

  4. この意味はわかりません。 CONNECTコマンドを処理した後、プロキシは両方向のバイトをコピーします。おそらく、これはあなたの質問の点で「透明」です。