Rails 3.2.13 で「faye」gem を使用しています。開発中、localhost:9292 で faye を実行し、localhost:3000 でアプリを実行しています。コマンド ラインから curl リクエストを使用してポップアップ ウィンドウをアクティブにすることはできますが、アプリ内から接続を確立できません。コンソールに表示されるエラーは次のとおりです。
'ws://localhost:9292/faye' への WebSocket 接続に失敗しました: WebSocket ハンドシェイク中にエラーが発生しました: 'Upgrade' ヘッダーがありません
application.js ファイルで faye のヘッダーを定義しようとしています。
$(function() {
var faye = new Faye.Client("http://localhost:9292/faye");
faye.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
faye.subscribe('/messages', function (data) {
alert(data);
});
});
これはヘッダーを追加する正しい方法ですか?
ここで同様の問題に関する議論を見つけました: https://github.com/faye/faye/issues/222 この場合、エラーは ssl 設定がロードされていないことに関連しているようです。ラック gem の lib ディレクトリを確認したところ、
def ssl?
scheme == 'https'
end
これは問題ないようです。設定が正しくロードされていないことを確認するにはどうすればよいですか?
次にどこを見るべきかについての手がかりは大歓迎です。