2015-01-20 3 views
0

Я сделал небольшое изменение в моей Rails 4 приложения, где я поставил response.headers в before_action на ApplicationController:Nginx/Пассажирские/Рельсы «вверх по течению преждевременно закрытое соединение во время чтения заголовка ответа от вверх по течению»

class ApplicationController < ActionController::Base 
    before_action :set_response_headers 

    def set_response_headers 
    response.headers['FOO'] = some_object.id if some_object 
    response.headers['ABC'] = other_object.id if other_object 
    end 
end 

Nginx журналы ошибок говорят:

2015/01/20 09:49:34 [error] 3401#0: *504273 upstream prematurely closed connection while reading response header from upstream, client: xx.xx.xx.xx, server: localhost, request: "GET /api/v1/foos HTTP/1.1", upstream: "passenger:/tmp/passenger.1.0.3380/generation-0/request:", host: "foo.com" 

Когда я делаю запрос /api/v1/foos, я вижу запрос удара Rails и журналы, кажется, прогресс, как обычно, но ответ крэпс вне.

Я не вижу много разрешенных проблем здесь или вокруг Google с этой конкретной проблемой, и я также не уверен, что это не проблема PEBCAK.

ответ

1

Попробуйте

response.headers['FOO'] = some_object.id.to_s if some_object 
response.headers['ABC'] = other_object.id.to_s if other_object 

Passenger требует значение заголовка быть строка или массив

Смежные вопросы