つまり、C++のWebSocketサーバーがあります。これは、完全にスタンドアロンのエンティティです。ヘッダーの解析、受信、送信をすべて独自に処理し、ポートを直接リッスンします。
問題は、Apacheと一緒にサーバー上で実行する必要があることです。これは、少し問題です。さて、ここにmod_proxyに関連する同様の問題の解決策がありましたが、Apacheがそれを知る前に、おそらくiptablesを使用して、WebSocket通信を傍受してリダイレクトできることを望んでいます。
したがって、問題は、chat。mysite.net宛てのトラフィックをポート8080などのWebSocketサーバーに転送し、mysite.netに向かう他のトラフィックをApacheに期待どおりに進めることは可能ですか?
これは実際には非常に簡単です。 ws://mysite.com:8080
にあるサーバーにアクセスするようにクライアントをコーディングするだけです。 WebSocketがポート80を使用できると宣伝しているので、ポート80が使用できないことを知って非常に驚きました必要。
申し訳ありませんが、iptablesはhttpプロトコルを話さない/理解しないため、iptablesでは不可能です。誰かがip_conntrack_httpを記述して、これが実際に機能するようにする必要があります(ftp conntrackthingieに似たもの);-)それまでは、おそらくmod_proxyまたはnginxでApacheを使用する必要があります。