Rails 3.1.1 HTTP потоковая передача с Apache + Passenger - PullRequest
5 голосов
/ 23 октября 2011

В Railscasts о потоковой передаче HTTP некоторые комментаторы подтвердили, что можно выполнять потоковую передачу http с помощью Apache + Passenger, но странным образом я не могу найти никаких инструкций через Google.

Также в документации Rails не было никаких инструкций,Все подробные инструкции везде относятся к Единорогу.Я не должен быть единственным, кто хотел сделать потоковое HTTP через Apache и Passenger.Помогите пожалуйста.

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

HTTP Streaming более правильно известен как Chunked Transfer Encoding .

Это то, что я знаю (может быть больше требований):

Ruby 1.9.x

Для потоковой передачи требуются функции потоков Ruby 1.9

Совместимое промежуточное ПО

Любое имеющееся промежуточное ПО не должно изменять HTTPответ

Пассажир

Параметр passenger_buffer_response должен быть отключен

Поддержка клиентов

Клиент долженобъявите, что он использует HTTP 1.1, или отправьте заголовок запроса TE.

Я смутно припоминаю, что читал где-то, что nginx был необходим, но я нигде не могу найти ссылку.

Надеюсь, это поможет.

0 голосов
/ 01 марта 2013

Я только что настроил Passenger под Apache с потоковой передачей ответов вчера, и у меня не было проблем. Вот мой конфиг виртуального хоста в httpd.conf:

<VirtualHost *:80>
  ServerName www.my.site.com
  DocumentRoot /var/rails/myapp/public    
  <Directory /var/rails/myapp/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
     # Enable response streaming
     PassengerBufferResponse off
  </Directory>
</VirtualHost>
...