Nginx, Faye, Privatetrying, чтобы выяснить конфигурацию

Использование Nginx 1.6 с гемом private_pub Вот мои файлы конфигурации:

private_pub.ru

# Run with: rackup private_pub.ru -s thin -E production
require "bundler/setup"
require "yaml"
require "faye"
require "private_pub"

Faye::WebSocket.load_adapter('thin')

PrivatePub.load_config(File.expand_path("../config/private_pub.yml", __FILE__),     ENV["RAILS_ENV"] || "development")
run PrivatePub.faye_app

Private_pub.yml

development:
  server: "http://localhost:9292/faye/faye"
  secret_token: "secret"
test:
  server: "http://localhost:9292/faye/faye"
  secret_token: "secret"
production:
  server: "http://xxxxx.com/faye/faye"
  secret_token: "my secret token"
  signature_expiration: 3600 # one hour

в моем Nginx.conf

location /faye {
    proxy_pass http://0.0.0.0:9292;
    break;
  }

Служба работает, но очень медленно, и я получаю эти ошибки на сафари:

Соединение WebSocket с 'ws: //xxxxx.com/faye' не удалось: неожиданный код ответа: 400 Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден) Не удалось загрузить ресурс: сервер ответил статусом 502 Неверный шлюз)

Есть предположения?


person Henri    schedule 22.08.2014    source источник


Ответы (1)


Хорошо .. Я нашел решение для тех, кто когда-нибудь захочет установить Faye / Private_pub на Nginx, работающий тонко и с единорогом.

Первый:

  1. Вы должны понимать, что ваш вышестоящий сервер - это ваш localhost: 9292 (127.0.0.1:9292)

вы настраиваете свой восходящий поток в своей конфигурации Nginx, добавляя следующее:

location /faye {

     proxy_pass http://127.0.0.1:9292;
           proxy_http_version 1.1;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection $connection_upgrade;
           proxy_buffering off;
           proxy_redirect off;
           proxy_connect_timeout      90;
           proxy_send_timeout         90;
           proxy_read_timeout         90;
           proxy_set_header X-Forwarded-Proto https;
           break;


  }

Также для тех, у кого есть 504, после этого измените файл конфигурации в Nginx и php.fmp (если он у вас есть), чтобы время ожидания увеличилось.

Не забудьте перезагрузить Nginx. Если ошибки по-прежнему возникают, проверьте журнал ошибок Nginx.

person Henri    schedule 24.08.2014