1

フェイジェムとシンサーバーを使用するprivate_pubというジェムに問題があります。

これはすべて開発では正常に機能しますが、サーバーではすべてを正常に起動できますが、private_pubを使用しているページでは、jsコンソール(chrome)に次のようなエラーが表示されます。

GET http://myapp.example.com/faye.js 406 (Not Acceptable) 

ブラウザでhttp://myapp.example.com/faye.jsを表示すると(URLが変更されました)、開発中にすべてのjsコードが表示される空の画面が表示されます。また、Chromeの開発者ツールでは、開発時にタイプが「保留中」であり、本番環境では「text/html」として渡されていることがわかります。

私はグーグルとグーグルをしてきましたが、まったく何も思いつきませんでした。誰かが私を正しい方向に向けることができますか?

ここで渡される特別なmimeタイプで、受け入れるようにApacheまたはRailsを構成する必要がありますか?

前もって感謝します

4

1 に答える 1

4

ハッザ!

私はそれを考え出した。

私はあらゆる種類のフープを飛び越えましたが、私が試した他のいくつかのことのために、見つけた解決策が機能しないことを100%確信していませんが...

私が最初に試したのは、Centos に Thin を Rails アプリと共にインストールするためのチュートリアル (Slicehost のドキュメントから) に従うことでした。しかし、private_pub/faye がこれをすべて処理することになっているため、これが必要だったとは思いません。(私が理解していることから)

重要なことの 1 つは、private_pub で記述されているスタートアップを使用する必要があることを私は知っているということです。

RAILS_ENV=production bundle exec rackup private_pub.ru -s thin -D -E production

「-D」は、バックグラウンド プロセスとして実行されることを確認します。

私の private_pub.yml では:

production:
  server: "http://myapp.example.com:9292/faye" 
  secret_token: "{SECRET_TOKEN HERE}" 
  signature_expiration: 3600 # one hour

ここにポート番号を追加したところ、すべてが機能するようになりました。

于 2012-10-08T17:51:36.843 に答える