Heroku Cedar и nginx (gzip) - PullRequest
       40

Heroku Cedar и nginx (gzip)

9 голосов
/ 15 декабря 2011

Согласно комментариям в принятом ответе здесь Рельсы, как Gzip Javascript?(Heroku) и официальная документация кедра (http://devcenter.heroku.com/articles/http-routing#the_herokuappcom_http_stack):

Поскольку запросы к приложениям Cedar отправляются непосредственно на сервер приложений, а не через прокси-сервер через HTTP-сервер, такой как nginx, - любое сжатие ответовдолжно быть сделано в вашем приложении. Для приложений Rack это можно сделать с помощью промежуточного программного обеспечения Rack :: Deflater. Для сжатых статических ресурсов убедитесь, что Rack :: Deflater загружен до ActionDispatch :: Static в вашем стеке промежуточного программного обеспечения.

Однако, насколько я могу судить, мое приложение работает на herokuapp.com (кедр) и, согласно журналам heroku, использует nginx для обслуживания данных (что замечательно).через HTTP-заголовок Content-Encoding подтвердил, что он передает данные в браузер. Согласно документации, это не должно происходить на кедре. Я что-то здесь упускаю?

1 Ответ

10 голосов
/ 15 декабря 2011

Вы должны получать доступ к этим приложениям через домен, указывающий на следующие IP-адреса:

75.101.163.44
75.101.145.87
174.129.212.2

Это лица на вершине, и они находятся перед приложениями из бамбука и кедра. Лак для бамбука есть, но любой запрос, который проходит через них, в конечном итоге также проходит через лак.

Эти грани только для вершинных доменов. Если ваше приложение находится под поддоменом, таким как www, оно должно быть настроено как CNAME, указывающее на appname.herokuapp.com. При такой настройке запросы не будут проходить через лак.

Подробнее об Apex и Heroku см. Здесь: http://neilmiddleton.com/the-dangers-of-a-records-and-heroku/

...