Rails 3.2 PrivatePub в производстве faye.js не найден

У меня проблема с гемом 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 для принятия?

заранее спасибо

1 ответ

Решение

HAZZAH!

Я понял.

Я перепрыгнул через все виды обручей и не уверен на 100%, что найденное мной решение не работает из-за некоторых других вещей, которые я пробовал, но...

Первым делом я попробовал следовать руководству по установке Thin с приложением Rails на Centos (из документации Slicehost). Статьи Slicehost: CentOS - тонкий веб-сервер для Ruby, и он выполнил целую кучу тонких конфигураций. Но я не верю, что это было необходимо, потому что private_pub / faye должен обрабатывать все это для вас. (из того, что я понимаю)

Одна важная вещь заключается в том, что я знаю, что вам нужно использовать запуск, который описывает 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

Я добавил в порт # здесь, и теперь все работает.

Другие вопросы по тегам