長いプールメカニズムが実装されているSymfony2アプリケーションがあります。ユーザはアプリケーションにログインし、特定の時間に長いプーリング要求が開始され、アプリケーション内でまだ動作している間にいくつかの変更についてユーザに通知します。Symfony2のSSLサーバーでの長いポーリング
phpセッションはデータベースに保存されるため、長いプーリング期間中に他のajaxリクエストを開く際にセッションロックの問題は発生しません。
SSL証明書をインストールすると、問題が発生し、通常のPHPセッションのように動作している間に、長いプーリングによって他の要求がロックされているように見えます。 phpセッションはまだデータベースから保存/読み込みされますが、アプリケーションはロック機構が存在するように動作し、同時に2つの要求を許可しません。
これはSSLモジュールの設定に問題がありますか、Symfonyの動作について何か不明ですか? SSLを無効にすると、すべてがうまく動作し、複数のリクエストが同時に問題になることはありません。
後期編集:
どうやら問題はHTTP2ヘッダとありました。 HTTP2ヘッダーを使用すると、同時リクエストはキューに入れられ、順次実行されます。 HTTP1.1を使用するとすべてが問題ありません。これは本当に奇妙です。なぜなら私はApacheのドキュメントに従ってサーバーの設定をチェックしています。これは私のSSLモジュールで動作するはずです。誰もがこのような経験をしていますか?
私はアプリケーションにExtJS 5.1を使用しています。コンソールにもサーバーにもエラーはありません。 プロトコルで '<のIfModule http2_module> ProtocolsHonorOrder HTTP/1.1 H2 ' –
非常になりOK:また、サーバーと新しいものの古いSSLの設定との唯一の違いは、証明書ファイルとこれへのパスです証明書やプロトコルの注文管理があなたの問題に影響を与えるなら、予期せぬことです...私は何がこれを引き起こすのか見当たりません。あなたはApacheのログをチェックしましたか? ProtocolsHonorOderを削除しようとしましたか?私たちは決して知りません.... – bohr
明らかにプロトコルからh2を削除することができました。私はまだこれが起こっている理由を読む必要がありますが、当面はProtocols h2c http/1.1だけを使用します –